繁体   English   中英

使用指数解析字符串(Java)

[英]Parsing a String with an Exponent (Java)

我有一个类似于: 7.6E+7的字符串。

我的问题很简单:如何将其转换为相应的数字: 76000000

我已经尝试使用substring来隔离E+7部分,然后解析7部分,然后将小数位移到7以上。有更简单的方法吗?

谢谢!

long n = Double.valueOf("7.6E+7").longValue();
System.out.println(d);
// prints 76000000 to the output.

我建议使用Double.parseDouble()

double val = Double.parseDouble(str);

其中str是输入字符串。

您可以使用Double.parseDouble()将其作为数字。

String e = "7.6E+7";
System.out.println(Double.parseDouble(e));

输出7.6E7。 如果您不想在输出中使用E,则可以使用

NumberFormat f = NumberFormat.getInstance();
f.setGroupingUsed(false);
System.out.println(f.format(Double.parseDouble(e)));

这将为您输出76000000而不会转换为整数。 例如,将0.1添加到数字将给出输出76000000.1

如果您确定数字最终可以转换为整数而不会丢失精度,那么您可以执行以下操作:

int d = (int) Double.parseDouble("7.6E+7");
System.out.println(d);

其中输出76000000

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM