CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

request.getParameter()得到的数值为'6',如何转换成int型

楼主cniva(cniva)2006-08-06 18:39:31 在 Java / J2SE / 基础类 提问

request.getParameter()得到的数值为'6',使用了Integer.parseInt()方法不能转换成int,请教还有何方法能转化成int 问题点数:20、回复次数:23Top

1 楼hbwhwang(【生病了,好好休息中...】)回复于 2006-08-06 19:26:30 得分 0

使用了Integer.parseInt()方法不能转换成int????Top

2 楼Siela(伱儅硪寔倁己硪看嘚噵 硪儅伱寔一笙偂途)回复于 2006-08-06 20:03:11 得分 0

int   i   =   new   Integer(i).parseInt(request.getParameter("String"));Top

3 楼kevinliuu()回复于 2006-08-06 20:05:08 得分 0

倒~  
   
  楼上的Top

4 楼xfxf521(天使也一样)回复于 2006-08-06 20:06:31 得分 0

int   i=Integer.parseInt(request.getParameter())Top

5 楼baokuijian(阿包)回复于 2006-08-06 20:28:55 得分 0

这应该很简单啊,Integer.parseInt()的参数必须是String类型的,而这里是char类型,当然不行啊!应该是:int   i=Integer.parseInt(“”+request.getParameter())就可以了Top

6 楼hbwhwang(【生病了,好好休息中...】)回复于 2006-08-06 20:30:53 得分 0

baokuijian(阿包):  
  request.getParameter()得到的本来就是StringTop

7 楼feigme(泡沫微笑。o 0)回复于 2006-08-06 20:44:02 得分 0

int   i=Integer.parseInt(request.getParameter());  
  Top

8 楼huihui0103()回复于 2006-08-06 20:45:50 得分 0

来晚了哦Top

9 楼saiche05(赛车)回复于 2006-08-07 08:54:09 得分 20

标准做法:  
  int   i=0;  
  try   {i=Integer.parseInt(request.getParameter());  
  }  
  catch(NumberFormatException   e)  
  {//i=0;  
  }Top

10 楼fishyqd(小鱼儿-刚出来混)回复于 2006-08-07 11:29:45 得分 0

同意楼上Top

11 楼cniva(cniva)回复于 2006-08-07 11:49:21 得分 0

原来是传过来的是'6'而不是6,谢谢大家了  
   
  不过用int   i=Integer.parseInt(""+request.getParameter());的话报这个错误  
  java.lang.NumberFormatException:   For   input   string:   "null"  
   
  值为:  
  s=7  
  i=0  
   
  怎样才能转换成String呢  
  Top

12 楼WxmJun(胡扯之)回复于 2006-08-07 13:32:43 得分 0

String   s=request.getParameter();  
  if(s!=null   &&   s   是数值){  
  i=Integer.parseInt(s);  
  }Top

13 楼mosquitoxh((IT,中间件,架构)http://it.paiming.org/bbs)回复于 2006-08-07 14:22:58 得分 0

int   i=Integer.parseInt(request.getParameter());Top

14 楼software_apprentice()回复于 2006-08-07 15:57:40 得分 0

根本没有request.getParameter()这个方法。。。getParameter必须放个String做为参数的楼主是不是搞错了Top

15 楼arbiter(同济流氓)回复于 2006-08-07 16:59:48 得分 0

标准做法:  
  int   i=0;  
  try   {i=Integer.parseInt(request.getParameter());  
  }  
  catch(NumberFormatException   e)  
  {//i=0;  
  }  
   
  NumberFormatException   属于非检查性异常,就是说不需要你自己去try   catch.  
  并且即使一旦出现这种异常,也认为是设计错误,是程序员的责任,是可以避免的,例如在把参数传进你的方法前,先判断参数是否为数字。如果因为不是数字而产生了NumberFormatException,说明你程序的CHECK   PARAMETER的工作没做好,是你的责任。Top

16 楼Areslp(努力ING)回复于 2006-08-07 17:27:47 得分 0

request.getParameter()出来是'6'的话,这是个string,先处理这个string变成6,再Integer.parseInt就行了吧Top

17 楼langke93(冬会初雪)回复于 2006-08-07 18:58:05 得分 0

int   i=Integer.parseInt(request.getParameter("parm").toString());Top

18 楼go_now(煅剑)回复于 2006-08-07 21:54:22 得分 0

int   i=(int)request.getParameter("parm")Top

19 楼yunzhongshu()回复于 2006-08-08 09:43:16 得分 0

Top      
    langke93(冬会初雪)   (   )   信誉:100     2006-8-7   18:58:06     得分:   0            
  int   i=Integer.parseInt(request.getParameter("parm").toString());  
  ----------------------------------------------------------  
      我也觉得应该这样(如果得到的不是String类型的话)  
     
  Top

20 楼luyan0711(凡人)回复于 2006-08-08 10:14:06 得分 0

int   i=Integer.parseInt(request.getParameter()+"");Top

21 楼lye2000000_super(我自横刀香甜笑)回复于 2006-08-08 11:57:26 得分 0

现判断是否为空,再用正则表达式检查一下是否为数字。然后再解析。Top

22 楼wuxing2006(金宝)回复于 2006-08-08 12:29:52 得分 0

Integer.parseInt(request.getParameter("id").ToString().Replace("'",""));Top

23 楼PowerJason()回复于 2006-08-08 12:39:42 得分 0

String   temp   =   request.getParameter("id");  
  int   id   =   0;  
  if(temp   !=   null   &&   !temp.equals("")){  
      id   =   Integer.parseInt(temp);  
  }  
  如果你还想验证传过来的参数是int.  
  则可以通过此来验证;不建议通过异常来做判断;  
   
  /**  
    *   Check   whether   the   string   is   an   integer.  
    *   @param   s  
    *   @return   boolean  
    *   @author   Jason   Cheng  
    */  
  public   static   final   boolean   isInteger(final   String   str)   {  
  if   (isEmpty(str))   {  
  return   false;  
  }  
  for   (int   x   =   0;   x   <   str.length();   x++)   {  
  final   char   c   =   str.charAt(x);  
  /*   negative   */  
  if   (x   ==   0   &&   (c   ==   '-'))   {  
  continue;  
  }  
  /*   0   -   9   */  
  if   ((c   >=   '0')   &&   (c   <=   '9'))   {  
  continue;  
  }  
  /*   invalid   */  
  return   false;  
  }  
  /*   valid   */  
  return   true;  
  }  
   
  /**  
    *   Check   whether   the   string   is   not   empty.  
    *   @param   str  
    *   @return   boolean  
    *   @author   Jason   Cheng  
    */  
  public   static   final   boolean   isEmpty(String   str)   {  
  return   (str   ==   null)   ?   true   :   (str.trim().length()   ==   0);  
  }Top

相关问题

关键词

得分解答快速导航

  • 帖主:cniva
  • saiche05

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo