您的位置:首页 > 编程语言 > Java开发

(转) java double、float 运算

2017-07-27 13:44 330 查看
转至http://www.cnblogs.com/shown/p/6305880.html

double类型四则运算例子:

1、相加

1     public static double add(double a1, double b1) {
2         BigDecimal a2 = new BigDecimal(Double.toString(a1));
3         BigDecimal b2 = new BigDecimal(Double.toString(b1));
4         return a2.add(b2).doubleValue();
5     }


 

2、相减

1     public static double sub(double a1, double b1) {
2         BigDecimal a2 = new BigDecimal(Double.toString(a1));
3         BigDecimal b2 = new BigDecimal(Double.toString(b1));
4         return a2.subtract(b2).doubleValue();
5     }


 

3、相乘

1     public static double mul(double a1, double b1) {
2         BigDecimal a2 = new BigDecimal(Double.toString(a1));
3         BigDecimal b2 = new BigDecimal(Double.toString(b1));
4         return a2.multiply(b2).doubleValue();
5     }


 

4、相除

1     public static double div(double a1, double b1, int scale) {
2         if (scale < 0) {
3             throw new IllegalArgumentException("error");
4         }
5         BigDecimal a2 = new BigDecimal(Double.toString(a1));
6         BigDecimal b2 = new BigDecimal(Double.toString(b1));
7         return a2.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
8     }


scale参数为除不尽时,指定精度

TIP: 创建BigDecimal调用静态方法初始化更方便(BigDecimal.valueOf(XXX)): 
BigDecimal.valueOf(8).add(BigDecimal.valueOf(0.2)).doubleValue()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java