如何阻止Java缩短大型双倍?

时间:2014-02-22 13:39:03

标签: java numbers double

我们假设我们有以下代码:

System.out.println(String.valueOf(100000000000.0));

现在输出到1.0E11。但这不是我想要的。 (在高分上看起来很糟糕) 我希望它输出正好100000000000.0。有没有办法做到这一点?

4 个答案:

答案 0 :(得分:6)

适当格式化。例如:

System.out.printf("%.1f", 1654621658874684.0);

请注意,double并非无限精确。它的精度约为15到17位十进制数。如果需要具有任意精度的浮点数,请使用BigDecimal而不是double。

或者您可以使用String.format():

System.out.println(String.format("%.0f", 1654621658874684.0d));

答案 1 :(得分:2)

System.out.printf("Score: %.0f\n", 1e5);将打印100000

答案 2 :(得分:0)

参考这个...... Quest
您可以使用DecimalFormat格式化显示值

答案 3 :(得分:0)

对于那些大数字,我认为你应该使用BigDecimal。