Java四舍五入--DecimalFormat快速入门

1,666 阅读1分钟

[toc]

一 快速入门:保留两位小数的例子

    @Test
    public void df1(){
        double d1 = 123.456;
        DecimalFormat df = new DecimalFormat("0.00");
        d1=Double.parseDouble(df.format(d1));
        System.out.println("d1 = " + d1);
        //输出为d1 = 123.46
    }

二 占位符号介绍:

可以看的出来需要用占位符来确定格式,有一些常用的格式可供参考:

占位符 描述
0 数字占位符,位数不够时补零
# 数字占位符,位数不够时不补零
. 小数点分隔符的占位符
, 分组分隔符占位符
#0 对数字取科学计数法
% 乘以100并显示为百分比
    @Test
    public void df1(){
        double d1 = 123.456789;
        System.out.println(new DecimalFormat("0").format(d1));//123
        System.out.println(new DecimalFormat("00000.00").format(d1));//00123.46
        System.out.println(new DecimalFormat("#").format(d1));//123
        System.out.println(new DecimalFormat("####.##").format(d1));//123.46
        System.out.println(new DecimalFormat("#.#####E0").format(d1));//1.23457E2
    }

来一个官网的例子:

官网例子

三 取整模式:

默认使用RoundingMode.HALF_EVEN,有以下模式:

RoundingMode

参考文档