0.25 字符串转int 时候报错,Integer.parseInt(0.25),报错提示java.lang.NumberFormatException: For input string: "0.25"请问怎么优化?
时间: 2023-10-20 13:10:41 浏览: 194
如何解决java中遇到的for input string: "" 报错问题
Java中的 `parseInt` 方法只能将字符串类型的整数转换成整型,不能直接将浮点数对应的字符串转换成整型,所以当你使用 `parseInt` 方法尝试将字符串 "0.25" 转换成整型时,就会抛出 NumberFormatException 异常。
如果你需要将浮点数对应的字符串转换成整型,可以先将字符串转换成浮点数,然后再强制转换成整型。示例代码如下:
```java
double d = Double.parseDouble("0.25"); // 将字符串转换成浮点数
int i = (int) d; // 将浮点数强制转换成整型
```
注意,这种方法只是将浮点数的小数部分给截断了,不是四舍五入。如果需要进行四舍五入,可以使用 Math.round() 方法,示例代码如下:
```java
double d = Double.parseDouble("0.25"); // 将字符串转换成浮点数
int i = (int) Math.round(d); // 将浮点数四舍五入后强制转换成整型
```
阅读全文