我曾尝试将String转换为Double,将String转换为BigDecimal转换为Double,但每次都将指数科学计数法添加为double。
我已经使用过parseDouble(),Double.valueOf(),bigInteger.DoubleValue()方法,但是每次都添加指数。
Java为什么要在双精度中增加指数?
Java为什么要在双精度中增加指数?
因为这就是他们将Double.toString(double d)
方法定义为documented的方式。
他们为什么这样定义它?
因为Double.toString(double d)
可以存储double
(4.9e-324
)到Double.MIN_VALUE
(1.7976931348623157e308
)范围内的值。由于它的精度只有17位左右,因此,如果不采用科学计数法的格式,则这些极值的格式将约为300个零。会有用吗?
让我们看一个例子。其中哪个更有用?
请参阅问题Double.MAX_VALUE
答案:1.2⋅10 57
在Java中,可以打印为:
1.2E57
其中哪些更易于阅读和解释?