字符串值= 4.30000000e + 01如何解析?

时间:2017-04-27 09:02:51

标签: java integer double string-parsing

String value = 4.30000000e+01;

如何解析I ?? 在java中

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

我该如何解决?

4 个答案:

答案 0 :(得分:1)

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

  WKInterfaceController.reloadRootControllersWithNames(["NewInterfaceController"], contexts: ["NewInterfaceController"])

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

参考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);
如果你想要整数输出,

将返回double值,你可以将其转换为int(精度损失)。