【发布时间】:2015-03-07 20:06:49
【问题描述】:
假设我有:
double Nc= 7.6695805E-4;
NumberFormat formatter = new DecimalFormat("0.00000000000");
String string = formatter.format(Nc);
System.out.println(string);
输出将是:
0.00076695805
但它是放在字符串类型变量中的! 我要做的是将它转换为双精度或浮点数或长整数,以便它应该保持与 0.00076695805 相同,以便我可以将它用于我的计算! 我试过的是:
double Nc= 7.6695805E-4;
NumberFormat formatter = new DecimalFormat("0.00000000000");
String string = formatter.format(Nc);
System.out.println(Double.parseDouble(string));
输出变成:
7.6695805E-4 //which is same as i gave
那么应该怎么解决呢!
【问题讨论】:
-
您可能会将双原语与其字符串表示混淆——它们是完全不同的两件事,一个不会影响另一个。解决方案是在需要显示时控制双精度的字符串表示形式。
标签: java string math rounding number-formatting