• [Java]对double变量进行四舍五入,并保留小数点后位数


    1.功能

      将double类型变量进行四舍五入,并保留小数点后位数

    2.代码

    import java.math.BigDecimal;
    import java.math.RoundingMode;
    import java.text.DecimalFormat;
    import java.text.NumberFormat;
    
    public class Test {
        
        /**
         * 保留两位小数,四舍五入
         * @param d
         * @return
         */
        public static double formatDouble1(double d) {
            return (double)Math.round(d*100)/100;
        }
    
        
        /**
         * 
         * @param d
         * @return
         */
        public static double formatDouble2(double d) {// 如果不需要四舍五入,可以使用RoundingMode.DOWN
            BigDecimal bg = new BigDecimal(d).setScale(2, RoundingMode.UP);
            
            return bg.doubleValue();
        }
    
        /**
         * 该方法会用逗号将三位数字分开
         * 
         * @param d
         * @return
         */
        public static String formatDouble3(double d) {
            NumberFormat nf = NumberFormat.getNumberInstance();
            
    
            // 保留两位小数
            nf.setMaximumFractionDigits(2); 
    
            
            // 如果不需要四舍五入,可以使用RoundingMode.DOWN
            nf.setRoundingMode(RoundingMode.UP);
    
            
            return nf.format(d);
        }
    
        
        /**
         * 简单方法。
         * 
         * @param d
         * @return
         */
        public static String formatDouble4(double d) {
            DecimalFormat df = new DecimalFormat("#.00");
    
            
            return df.format(d);
        }
    
        
        /**
         * 如果只是用于程序中的格式化数值然后输出,那么这个方法还是挺方便的。
         * 应该是这样使用:System.out.println(String.format("%.2f", d));
         * @param d
         * @return
         */
        public static String formatDouble5(double d) {
            return String.format("%.2f", d);
        }
    
        public static void main(String[] args) {
            double d = 1245123.67890;
            
            System.out.println(formatDouble1(d));
            System.out.println(formatDouble2(d));
            System.out.println(formatDouble3(d));
            System.out.println(formatDouble4(d));
            System.out.println(formatDouble5(d));
        }
    
    }

    3.输出结果:

  • 相关阅读:
    FastAdmin Shopro商城安装
    MYSQL ERROR 10060
    宝塔命令
    kdevtmpfsi挖矿病毒处理
    VUE安装
    原生JS请求(AJAX)
    Bootstrap: 模态框组件
    Bootstrap: 缩略图组件
    Bootstrap: 栅格系统
    Bootstrap: 下拉菜单组件 & 分页组件
  • 原文地址:https://www.cnblogs.com/zlc364624/p/12361374.html
Copyright © 2020-2023  润新知