String pattern = "0.00";
double number = 999999999999999999999d;
DecimalFormat decimalFormat = new DecimalFormat(pattern);
decimalFormat.applyPattern(pattern);
System.out.println(decimalFormat.format(number));
打印1000000000000000000000.00
如何打印实际值。在这种情况下我希望999999999999999999999.00
答案 0 :(得分:0)
您可以使用BigDecimal来处理大量号码。
BigDecimal类提供算术,缩放操作,舍入,比较,散列和格式转换的操作。 toString()方法提供了BigDecimal的规范表示。
答案 1 :(得分:0)
这不是DecimalFormat问题 - 999999999999999999999d
确实等于1000000000000000000000
。如果你想存储像这样的非常大的整数,你应该使用BigInteger
class - double
只有足够的精度来准确存储大约15-16个有效数字。