zoukankan      html  css  js  c++  java
  • double类型数据的加减乘除

    java中double型数据的加减乘除,详细方法说明

    Java代码

    import java.math.BigDecimal;  
    /** 
     * 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精 确的浮点数运算,包括加减乘除和四舍五入。 
     */  
    public class DoubleUtils{  
        private static final int DEF_DIV_SCALE = 2;  
          
       /** 
         * @Description 两个Double数相加  
         * 
         * @param d1 
         * @param d2 
         * @return Double 
         */  
        public static Double add(Double d1,Double d2){  
            BigDecimal b1 = new BigDecimal(d1.toString());  
            BigDecimal b2 = new BigDecimal(d2.toString());  
            return b1.add(b2).doubleValue();  
        }  
          
       /** 
         * @Description 两个Double数相减  
         * 
         * @param d1 
         * @param d2 
         * @return Double 
         */  
        public static Double sub(Double d1,Double d2){  
            BigDecimal b1 = new BigDecimal(d1.toString());  
            BigDecimal b2 = new BigDecimal(d2.toString());  
            return b1.subtract(b2).doubleValue();  
        }  
          
       /** 
         * @Description 两个Double数相乘  
         * 
         * @param d1 
         * @param d2 
         * @return Double 
         */  
        public static Double mul(Double d1,Double d2){  
            BigDecimal b1 = new BigDecimal(d1.toString());  
            BigDecimal b2 = new BigDecimal(d2.toString());  
            return b1.multiply(b2).doubleValue();  
        }  
          
       /** 
         * @Description 两个Double数相除  
         * 
         * @param d1 
         * @param d2 
         * @return Double 
         */  
        public static Double div(Double d1,Double d2){  
            BigDecimal b1 = new BigDecimal(d1.toString());  
            BigDecimal b2 = new BigDecimal(d2.toString());  
            return b1.divide(b2,DEF_DIV_SCALE,BigDecimal.ROUND_HALF_UP).doubleValue();  
        }  
          
        /** 
         * @Description 两个Double数相除,并保留scale位小数  
         * 
         * @param d1 
         * @param d2 
         * @param scale 
         * @return Double 
         */  
        public static Double div(Double d1,Double d2,int scale){  
            if(scale<0){  
                throw new IllegalArgumentException(  
                "The scale must be a positive integer or zero");  
            }  
            BigDecimal b1 = new BigDecimal(d1.toString());  
            BigDecimal b2 = new BigDecimal(d2.toString());  
            return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();  
        }  
      
       /** 
         * @Description String类型小数与Double类型的转换  
         */  
       public static void StrToDouble(){  
          String str="1234.5678";  
          double num;  
          DecimalFormat myformat = new DecimalFormat("#0.00");  
          num = Double.parseDouble(str);//直接转换为double类型  
          num = Double.parseDouble(myformat.format(num));//保留2为小数  
          System.out.println(num);  
       }  
    }
    
  • 相关阅读:
    JavaScript或jQuery模拟点击超链接和按钮
    web开发中目录路径问题的解决
    jQuery操作复选框的简单使用
    php中常用魔术方法的举例
    Code-Validator:验证经度、验证维度
    Code-Validator:验证身份证号
    Code-Validator:验证IPv6地址
    Code-Validator:验证IPv4地址
    Code-Validator:验证网址(可以匹配IPv4地址但没对IPv4地址进行格式验证;IPv6暂时没做匹配)
    Code-Validator:验证电子邮箱
  • 原文地址:https://www.cnblogs.com/miraclewu/p/12880475.html
Copyright © 2011-2022 走看看