java - 如何对十进制数执行 Integer.parseInt() ?

标签 java parsing integer

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 是无意义的。 doublefloat 数据类型可以保存有理数。

Java 将 double 转换为 int 的方式是通过向零舍入来删除小数点分隔符后面的部分。 p>

int i = (int) 0.9999;

i 将为零。

关于java - 如何对十进制数执行 Integer.parseInt() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56619006/

相关文章:

java - 使用itextpdf提取的英文文本看不懂

r - 可视化 R 中整数数据的频率

integer - gdb 将 __m256i 打印为 8x 32 位元素而不是默认的 4x 64 位元素?

java - CheckboxTreeViewer 只允许检查一个元素

java - Java 支持多少种 DBMS,哪一种最适合存储 XML?

Python从字符串中清理html

javascript - 多态化将 float 与整数区分开来的函数(javascript)

java - 哪个是java中用于XML解析的最佳库

java - 如何从另一个对象访问服务内的变量

java - 如何用引号、站点运算符和非引号拆分字符串?