首页 > 解决方案 > 如何在java中获得下一个更高的十进制值,四舍五入到小数点后一位?

问题描述

我有两个双打如下:011490.2 和 011500.1 我想在 java 中打印此范围内的所有双打,四舍五入到小数点后一位。我怎样才能做到这一点?

这是我迄今为止尝试过的,但它正在进入某种无限循环:

            Double a = Double.parseDouble(temp[0].subSequence(temp[0].indexOf("g")+1, temp[0].length()).toString());
            Double b = Double.parseDouble(temp[1].subSequence(temp[0].indexOf("g")+1, temp[1].length()).toString());
            int count = 0;
            while (b >= a) {
                count++;
                System.out.println("printing range:" + Math.round(Math.nextUp(a));

            }

I want something like this printed: 011490.2 011490.3 011490.4 011490.5 011490.6 011490.7 011490.8 011490.9 011490.2 011490.3 011490.4 011491.1 011491.2 011491.3 011491.4 011491.5 . . . . 011500.1

标签: javamath

解决方案


为了完整起见,这里是for循环方式:

    double start = 11490.2D;
    double end = 11500.1D;

    for(double i = start; i < end + 0.05; i += 0.1) {
        System.out.printf("%.1f\n", i);
    }

编辑:根据亨利的评论更新


推荐阅读