Java代码如下:
String s = "0.01";
int i = Integer.parseInt(s);
但是这会引发 NumberFormatException...可能出了什么问题?
最佳答案
String s = "0.01";
double d = Double.parseDouble(s);
int i = (int) d;
异常(exception)的原因是整数不包含有理数(=基本上是分数)。因此,尝试将 0.3
解析为 int 是无意义的。
double
或 float
数据类型可以保存有理数。
Java 将 double
转换为 int
的方式是通过向零舍入来删除小数点分隔符后面的部分。 p>
int i = (int) 0.9999;
i
将为零。
关于java - 如何对十进制数执行 Integer.parseInt() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56619006/