使用指数解析字符串(Java)
我有一个类似的字符串:使用指数解析字符串(Java),java,string,parsing,int,double,Java,String,Parsing,Int,Double,我有一个类似的字符串:7.6E+7 我的问题很简单:如何将其转换为相应的数字:76000000 我尝试使用substring来分离E+7部分,然后解析7部分,然后将小数点移动到7以上。有没有更简单的方法 谢谢大家! 我建议使用: 其中,str是输入字符串。可以使用Double.parseDouble()将其作为数字获取 String e = "7.6E+7"; System.out.println(Double.parseDouble(e)); 给出输出7.6E7。如果您不想在输出中使用E,可
7.6E+7
我的问题很简单:如何将其转换为相应的数字:76000000
我尝试使用substring
来分离E+7
部分,然后解析7
部分,然后将小数点移动到7以上。有没有更简单的方法
谢谢大家! 我建议使用:
其中,
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
打印到输出
long n = Double.valueOf("7.6E+7").longValue();
System.out.println(d);
// prints 76000000 to the output.
long n = Double.valueOf("7.6E+7").longValue();
System.out.println(d);
// prints 76000000 to the output.