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>
  • 相关阅读:
    Python学习笔记9:变量作用域和列表
    Python文摘:argmin/argmax 与 idxmin/idxmax
    SQL学习笔记8
    SQL学习笔记7
    SQL学习笔记6
    SQL学习笔记5
    SQL文摘:sql(join中on与where区别)
    SQL学习笔记4
    SQL学习笔记3
    机器学习基石第三讲 Types of Learning
  • 原文地址:https://www.cnblogs.com/softidea/p/4563833.html
Copyright © 2011-2022 走看看