Java:将科学记数法转换为常规int

如何将科学记数法转换为常规int例如:1.23E2我想将其转换为123

谢谢。

如果您将值作为String,则可以使用

 int val = new BigDecimal(stringValue).intValue(); 

您可以将其转换为int为:

 double d = 1.23E2; // or float d = 1.23E2f; int i = (int)d; // i is now 123 

我假设你把它作为一个字符串。

看看DecimalFormat类。 大多数人使用它来将数字格式化为字符串,但它实际上有一个解析方法反过来! 用模式初始化它(参见教程),然后在输入字符串上调用parse()。

查看DecimalFormat.parse() 。

示例代码:

 DecimalFormat df = new DecimalFormat(); Number num = df.parse("1.23E2", new ParsePosition(0)); int ans = num.intValue(); System.out.println(ans); // This prints 123 

你也可以使用这样的东西。

 (int) Double.parseDouble("1.23E2")