(转) java double、float 运算
2017-07-27 13:44
330 查看
转至http://www.cnblogs.com/shown/p/6305880.html
double类型四则运算例子:
1、相加
2、相减
3、相乘
4、相除
scale参数为除不尽时,指定精度
TIP: 创建BigDecimal调用静态方法初始化更方便(BigDecimal.valueOf(XXX)):
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中float,double类型运算的处理
- java中float,double利用BigDecimal运算
- Java浮点类型(Double/Float)运算精度问题
- java基础之float、double底层运算
- Java使用BigDecimal保留double、float运算精度、保留指定位数有效数字、四舍五入
- Java使用BigDecimal保留double、float运算精度、保留指定位数有效数字、四舍五入
- 神奇:java中float,double,int的值比较运算
- java中float,double利用BigDecimal运算
- java float double类型做小数点加减运算不准确
- java中float,double利用BigDecimal运算
- java float double类型做小数点加减运算不准确
- Java 浮点数 float和double类型的表示范围和精度
- Java中如何解决double和float精度不准的问题
- java中的float和double类型
- 关于java中Double类型运算精度问题
- Java基础:如何解决double和float精度不准的问题
- Java中float和double精度
- java的float和double的区别
- java中比较float和double的大小
- Java:Effective Java 学习笔记(第48条:如果需要精确的答案,请避免使用float和double)