Double类型做加减乘除精度缺失问题
来源:互联网 发布:人工智能简介ppt英文 编辑:程序博客网 时间:2024/06/16 20:48
用BigDecimal类解决
/** * double 相加 * @param d1 * @param d2 * @return */ public double sum(double d1,double d2){ BigDecimal bd1 = new BigDecimal(Double.toString(d1)); BigDecimal bd2 = new BigDecimal(Double.toString(d2)); return bd1.add(bd2).doubleValue(); } /** * double 相减 * @param d1 * @param d2 * @return */ public double sub(double d1,double d2){ BigDecimal bd1 = new BigDecimal(Double.toString(d1)); BigDecimal bd2 = new BigDecimal(Double.toString(d2)); return bd1.subtract(bd2).doubleValue(); } /** * double 除法 * @param d1 * @param d2 * @param scale 四舍五入 小数点位数 * @return */ public double div(double d1,double d2,int scale){ // 当然在此之前,你要判断分母是否为0, // 为0你可以根据实际需求做相应的处理 BigDecimal bd1 = new BigDecimal(Double.toString(d1)); BigDecimal bd2 = new BigDecimal(Double.toString(d2)); return bd1.divide (bd2,scale,BigDecimal.ROUND_HALF_UP).doubleValue(); } /* *乘法 */ public double mul(double d1, double d2){ // 进行乘法运算 BigDecimal b1 = new BigDecimal(d1); BigDecimal b2 = new BigDecimal(d2); return b1.multiply(b2).doubleValue(); }
阅读全文
0 0
- Double类型做加减乘除精度缺失问题
- 对于java中小数类型用Double或Float进行加减乘除时缺失精度问题
- Double类型精度缺失-19.9变为19.89
- struts2标签处理double数据类型 精度缺失问题
- BigDecimal类的加减乘除(解决double计算精度问题)
- 使用BigDecimal解决double加减乘除丢失精度问题
- java double 做运算精度损失问题
- double类型精度问题格式设置
- java中Double类型精度问题
- Double 类型运算时的精度问题
- Double 类型运算时的精度问题
- float double 类型数据 精度问题
- Java中double类型精度丢失问题
- double类型计算精度确实问题
- double类型数据做加和操作时会丢失精度问题处理
- js中float类型加减乘除运算精度问题
- double类型精度计算
- double加减乘除问题
- JQUERY ajax 上传图片 php CI
- 51NOD 1062 序列中的最大数
- 计算机基础知识(一):计算机网络
- Android 微信支付集成
- 网页播放rtmp流
- Double类型做加减乘除精度缺失问题
- nginx禁止访问.git文件的设置(nginx过滤.git文件夹)
- json转数组
- LeetCode740
- CLHS 记录:1.引言
- fail2ban
- 视频理解论文和数据集
- Java相關文件網址
- springboot开启声明式事务