如果有人问过这个问题,我很抱歉,但我找不到任何可以帮助我的东西。这是我的大型程序的一部分,当我想要添加数字并显示它们时,但是当我遇到数字 0.6
输出不“准确”时。我想将它们精确显示到小数点后一位。我怎样才能实现这一目标?
源代码:
public class NumberTest {
public static void main(String[] args){
double n = 0.6;
double sum = 0.0;
for(int i = 0; i < 10; i++){
System.out.println(sum);
sum += n;
}
}
}
输出:
0.0
0.6
1.2
1.7999999999999998
2.4
3.0
3.6
4.2
4.8
5.3999999999999995
最佳答案
不要使用 println,而是使用 printf(...)
,因为 printf 允许格式化输出。
System.out.printf("%.1f%n", sum);
或者使用 DecimalFormat 对象:
DecimalFormat df = new DecimalFormat("0.0");
System.out.println(df.format(sum));
是的,这是一个重复的重复问题......
关于Java:通过扩展添加 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18134566/