如何解析"30.0"或"30.00"到整数?

Koe*_*err 7 java

我用的是:

String str="300.0";
System.out.println(Integer.parseInt(str));
Run Code Online (Sandbox Code Playgroud)

返回异常:

线程"main"中的异常java.lang.NumberFormatException:对于输入字符串:"300.0"

如何将此String解析为int?

感谢帮助 :)

aio*_*obe 12

这是你如何做到的:

String str = "300.0";
System.out.println((int) Double.parseDouble(str));
Run Code Online (Sandbox Code Playgroud)

(ideone.com演示)

你得到NumberFormatException的原因很简单,字符串("300.00",它是一个浮点数)无法解析为整数.


值得一提的是,该解决方案300甚至可以打印输入"300.99".为了获得适当的舍入,你可以做到

System.out.println(Math.round(Double.parseDouble("300.99")));  // prints 301
Run Code Online (Sandbox Code Playgroud)