This question already has answers here:
How to round a number to n decimal places in Java

(32个答案)


6年前关闭。





我试图使double值四舍五入为2个精度值。我通过使用Date Format获得了它,但它在String中。
如何不使用日期格式将双精度值舍入为精度。

最佳答案

这是例子

public class RoundValue
{
    public static void main(String[] args)
    {

    double kilobytes = 1205.6358;

    System.out.println("kilobytes : " + kilobytes);

    double newKB = Math.round(kilobytes*100.0)/100.0;
    System.out.println("kilobytes (Math.round) : " + newKB);

    DecimalFormat df = new DecimalFormat("###.##");
    System.out.println("kilobytes (DecimalFormat) : " + df.format(kilobytes));
    }
}


输出:

kilobytes : 1205.6358
kilobytes (Math.round) : 1205.64
kilobytes (DecimalFormat) : 1205.64

10-06 06:48