我有一个类似于7.6E+7
的字符串。
我的问题很简单:如何将其转换为相应的数字:76000000
?
我尝试使用substring
来隔离E+7
部分,然后解析7
部分,然后将小数位移到7以上。有更简单的方法吗?< / p>
谢谢!
答案 0 :(得分:4)
long n = Double.valueOf("7.6E+7").longValue();
System.out.println(d);
// prints 76000000 to the output.
答案 1 :(得分:3)
答案 2 :(得分:2)
您可以使用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
答案 3 :(得分:1)
如果您确定最终可以将数字转换为整数而不会丢失精度,则可以执行以下操作:
int d = (int) Double.parseDouble("7.6E+7");
System.out.println(d);
将76000000
输出到输出。