java中保留2位小数的四种方法

转自https://blog.csdn.net/y999666/article/details/52332352/
在写程序的时候,有时候可能需要设置小数的位数,那么java中有哪几种保留小数位数的方法呢?本文以两位小数为例给出四种方法。

package CodeJava_Leet;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;

/**
 * Created by Yechengpeng on 2016-08-14.
 */

public class Test {
    public static void main(String[] args) {
        double d = 756.2345566;

        //方法一:最简便的方法,调用DecimalFormat类
        DecimalFormat df = new DecimalFormat(".00");
        System.out.println(df.format(d));

        //方法二:直接通过String类的format函数实现
        System.out.println(String.format("%.2f", d));

        //方法三:通过BigDecimal类实现
        BigDecimal bg = new BigDecimal(d);
        double d3 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
        System.out.println(d3);

        //方法四:通过NumberFormat类实现
        NumberFormat nf = NumberFormat.getNumberInstance();
        nf.setMaximumFractionDigits(2);
        System.out.println(nf.format(d));

    }
}

输出为:

D:\Java\jdk1.8.0\...
756.23
756.23
756.23
756.23

Process finished with exit code 0

你可能感兴趣的:(java)