Java 中的科学记数法
Scientific notation in Java
System.out.println(Math.pow(10 , -10));
我写了这一行,输出应该是 10.0E-10 ,对吧?但它显示 1.0E-10 。这背后的原因可能是什么?
符号xey
表示x*10^y。
Math.pow(10 , -10)
表示 10 的 -10 次方,即 10^-10。这等于1*10^-10,用xey
表示法,就是1e-10
.
10.0E-10
表示
10.0 x 10-10
但是
Math.pow(10 , -10)
表示
10-10
如果你想要一种方便的方式来使用 10.0E-10 试试
System.out.println(new BigDecimal("10.0E-10"));
Output: 1.00E-9
或
System.out.println(Double.valueOf("10.0E-10"));
Output: 1.0E-9
哪个最好取决于哪个考虑因素对您来说更重要。分别:以 10 为基数或性能忠实地将存储与表示相匹配。
System.out.println(Math.pow(10 , -10));
我写了这一行,输出应该是 10.0E-10 ,对吧?但它显示 1.0E-10 。这背后的原因可能是什么?
符号xey
表示x*10^y。
Math.pow(10 , -10)
表示 10 的 -10 次方,即 10^-10。这等于1*10^-10,用xey
表示法,就是1e-10
.
10.0E-10
表示
10.0 x 10-10
但是
Math.pow(10 , -10)
表示
10-10
如果你想要一种方便的方式来使用 10.0E-10 试试
System.out.println(new BigDecimal("10.0E-10"));
Output: 1.00E-9
或
System.out.println(Double.valueOf("10.0E-10"));
Output: 1.0E-9
哪个最好取决于哪个考虑因素对您来说更重要。分别:以 10 为基数或性能忠实地将存储与表示相匹配。