String value = 4.30000000e+01 如何解析Int?

String value = 4.30000000e+01 how to parseInt?

String value = 4.30000000e+01;

如何解析Int?? 在 java

我已经尝试过使用 parseInt(value, 10).. 事实上,javascript parseInt 可以转换但是java 方法导致错误

我该如何解决?

整数不应该这样表示。最终,您可以将其解析为 BigDecimal,然后获取其 int 值:

int i = new BigDecimal("4.30000000e+01").intValue();

e+01表示指数。所以 e+01 实际上是 10 pow 1Double 可以解析:

Double.valueOf("4.30000000e+01") // 43.0

你有一个字符串,你可以将它解析成一个double对象并调用方法intValue()

int r = Double.valueOf("4.30000000e+01").intValue();
System.out.println(r);

参考 JLS 第 3.10.2 节(http://docs.oracle.com/javase/specs/jls/se8/html/jls-3.html#jls-3.10.2):浮点文字的小数部分可以用科学计数法的形式表示,例如您的示例中的 e+01。

Double d = Double.parseDouble(value);

将 return 双精度值,如果您想要整数输出,您可以将其转换为 int(精度损失)。