zoukankan      html  css  js  c++  java
  • java Double保留小数点位数

    0和#都是占位符,但在不同的地方,作用不一样
    0:
    比实际数字的位数多,不足的地方用0补上。
    new DecimalFormat("00.00").format(3.14) //结果:03.14
    new DecimalFormat("0.000").format(3.14) //结果: 3.140
    new DecimalFormat("00.000").format(3.14) //结果:03.140

    比实际数字的位数少:整数部分不改动,小数部分,四舍五入
    new DecimalFormat("0.000").format(13.146) //结果:13.146
    new DecimalFormat("00.00").format(13.146) //结果:13.15
    new DecimalFormat("0.00").format(13.146) //结果:13.15
    #:
    比实际数字的位数多,不变。
    new DecimalFormat("##.##").format(3.14) //结果:3.14
    new DecimalFormat("#.###").format(3.14) //结果: 3.14
    new DecimalFormat("##.###").format(3.14) //结果:3.14

    比实际数字的位数少:整数部分不改动,小数部分,四舍五入
    new DecimalFormat("#.###").format(13.146) //结果:13.146
    new DecimalFormat("##.##").format(13.146) //结果:13.15
    new DecimalFormat("#.##").format(13.146) //结果:13.15 

    4种方法,都是四舍五入,例:
    
        import java.math.BigDecimal;
        import java.text.DecimalFormat;
        import java.text.NumberFormat;
        public class format {
            double f = 111231.5585;
            public void m1() {
                BigDecimal bg = new BigDecimal(f);
                double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
                System.out.println(f1);
            }
            /**
             * DecimalFormat转换最简便
             */
            public void m2() {
                DecimalFormat df = new DecimalFormat("#.00");
                System.out.println(df.format(f));
            }
            /**
             * String.format打印最简便
             */
            public void m3() {
                System.out.println(String.format("%.2f", f));
            }
            public void m4() {
                NumberFormat nf = NumberFormat.getNumberInstance();
                nf.setMaximumFractionDigits(2);
                System.out.println(nf.format(f));
            }
            public static void main(String[] args) {
                format f = new format();
                f.m1();
                f.m2();
                f.m3();
                f.m4();
            }
        }
    //还有一种直接向上取整数
    <H2 class="title content-title">//java:Java的取整函数</H2>    <DIV id=content class="content mod-cs-content text-content clearfix"> //Math.floor()、Math.ceil()、BigDecimal都是Java中的取整函数,但返回值却不一样
                
                Math.floor()
                通过该函数计算后的返回值是舍去小数点后的数值
                如:Math.floor(3.2)返回3
                Math.floor(3.9)返回3
                Math.floor(3.0)返回3
                
                Math.ceil()
                ceil函数只要小数点非0,将返回整数部分+1
                如:Math.ceil(3.2)返回4
                Math.ceil(3.9)返回4
                Math.ceil(3.0)返回3 </DIV>
  • 相关阅读:
    hdu 3342 Legal or Not 拓排序
    hdu 1596 find the safest road Dijkstra
    hdu 1874 畅通工程续 Dijkstra
    poj 2676 sudoku dfs
    poj 2251 BFS
    poj Prime Path BFS
    poj 3278 BFS
    poj 2387 Dijkstra 模板
    poj 3083 DFS 和BFS
    poj 1062 昂贵的聘礼 dijkstra
  • 原文地址:https://www.cnblogs.com/softidea/p/4563833.html
Copyright © 2011-2022 走看看