Java:通过扩展添加 float

标签 java floating-point addition

如果有人问过这个问题,我很抱歉,但我找不到任何可以帮助我的东西。这是我的大型程序的一部分,当我想要添加数字并显示它们时,但是当我遇到数字 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/

相关文章:

python - 为什么 Python json 模块将字典键中的 float 表示为字符串?

c++ - float 最大化循环在 D 中不终止,在 C++ 中有效

java - 在 Swing 中添加组件的性能更高的顺序是什么

java - 如何使用 RESTEasy 客户端框架在 POST 中发送数据

java - 自定义标签 - JspWriter.write() 不产生输出

javascript - parseFloat 和 toFixed 只返回 1 位小数

Java - 添加两个不相等数组的内容

c - 电阻的串联和并联

java - Netbeans:从 javax.swing 项目声明转到其在 UI 设计选项卡中的显示

java - 了解打印某些内容的字节码