0

如何将双精度格式化为字符串,以便显示所有(无限制)小数位(如果它们存在但不显示任何尾随 0)?

4

1 回答 1

1
double x = ...;
DecimalFormat fmt = new DecimalFormat();
fmt.setMinimumFractionDigits(0);
fmt.setMaximumFractionDigits(Integer.MAX_VALUE);
System.out.println(fmt.format(x));

Integer.MAX_VALUE 是一个愚蠢的数字,但任何足够大的数字都可以,正如您从 setMaximumFractionDigits javadoc 中看到的那样:

设置数字的小数部分允许的最大位数。对于除 BigInteger 和 BigDecimal 对象以外的格式化数字,使用 newValue 和 340 中的较低值。负输入值替换为 0。

于 2012-11-01T16:15:42.887 回答