日期:2014-05-20  浏览次数:20613 次

int i = Integer.parseInt(s); 问题
class   FloatDemo
{
public   static   void   main(String   args[])
{
try
{
Float   f   =   Float.valueOf( "12 ");
String   s   =   f.toString();
int   i   =   Integer.parseInt(s);
System.out.println( "i   :   "+i);
}
catch   (Exception   e)
{
System.out.println( "bobo: ");
}

}
}

这里为什么会输出异常的结果
int   i   =   Integer.parseInt(s);  
这句去掉就会输出   正常结果;

parseInt不是说是将字符串参数作为有符号的十进制整数进行解析。
那为什么结果是这样得

------解决方案--------------------
s是12.0吧~~这个好象变不了整形呀,有个 ". "


------解决方案--------------------
因为s=12.0,其并不是一个整数字符串,应该用Float.parseFloat(s)
------解决方案--------------------
s可能是 "12.0001 "之类的字符串
------解决方案--------------------
你用System.out.println(s);输出这个字符串得知是:12.0 转化不成功