Java DecimalFormat为双精度



我试图阻止java双精度对象以科学记数法打印。我知道我可以使用DecimalFormat,但这会产生一个String。我怎样才能生成一个真正的替身呢?我试过:

DecimalFormat df = new DecimalFormat("#");
df.setMaximumFractionDigits(8);
double n = Double.parseDouble(df.format(z));

然而,这仍然产生科学记数法中的double。

格式不是数据类型double的属性。这只定义了一组值。

打印总是需要转换为字符串,所以十进制格式是可以的。

至于使用一组完全不同的十进制分数作为值,请参见java.math.BigDecimal。这是一组"全部"小数,具有动态小数位数,运算和舍入控制。

最新更新