我们假设我们有以下代码:
System.out.println(String.valueOf(100000000000.0));
现在输出到1.0E11。但这不是我想要的。 (在高分上看起来很糟糕) 我希望它输出正好100000000000.0。有没有办法做到这一点?
答案 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。