System.out.println(0.05+0.01);
System.out.println(1.0-0.42);
System.out.println(4.015*100);
System.out.println(123.3/100);

在运行这段代码时就会发现一些列的问题,java并不像其他语言那样对货币的运算有特殊的处理,一切只能靠自己造轮子了

public static BigDecimal add(double v1,double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.add(b2);
}
public static BigDecimal sub(double v1,double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v2));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.subtract(b2);
}
public static BigDecimal mul(double v1,double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.multiply(b2);
}
public static BigDecimal div(double v1,double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.divide(b2);
}

转载于:https://www.cnblogs.com/chenligeng/p/9952818.html

在进行商业运算时解决BigDecimal的精度丢失问题相关推荐

  1. java中double类型精度丢失问题及解决方法

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源: https://blog.csdn.net/yacolsp ...

  2. js 转换数字为decmail_BigDecmail(解决java计算精度问题)

    当使用double进行商业运算时,double计算会丢失精度.可以使用BigDecimal进行计算. import java.math.BigDecimal; import org.junit.Tes ...

  3. double operator[](int i)_java中double类型精度丢失问题及解决方法

    原文链接:https://blog.csdn.net/yacolspace/article/details/78287394 double类型数据加减操作精度丢失问题 今天在项目中用到double类型 ...

  4. double java 精度丢失_java中double和float精度丢失问题及解决方法

    在讨论两位double数0.2和0.3相加时,毫无疑问他们相加的结果是0.5.但是问题总是如此吗? 下面我们让下面两个doubles数相加,然后看看输出结果: @Test public void te ...

  5. Java中double类型精度丢失的问题_double类型数据加减操作精度丢失解决方法_BigDecimal取整

    BigDecimal在用double做入参的时候,二进制无法精确地表示十进制小数,编译器读到字符串"0.0000002"和"1.0000002"之后,必须把它转 ...

  6. Java 中商业运算必备的精确运算类:BigDecimal

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 码农小胖哥 来源 | 公众号「码农小胖哥」 1. 前言 今天群里一个初级开发者问为 ...

  7. js浮点数运算不精确 如何解决_解决 浏览器处理数字运算时精度丢失的方法

    浏览器处理数字运算时精度丢失的方法 为什么0.1 + 0.2 不等于0.3.因为计算机不能精确表示0.1, 0.2这样的浮点数,计算时使用的是带有舍入误差的数 并不是所有的浮点数在计算机内部都存在舍入 ...

  8. mysql整型无符号 大小_解决mysql无符号整型自减运算时溢出的问题

    溢出通常是指的数字类型的一个溢出问题了,对于这个问题小编整理了一篇关于解决mysql无符号整型自减运算时溢出的问题的教程,希望对各位同学会有所帮助. 在mysql中给一个无符号整型字段做自减运算时,如 ...

  9. bigdecimal取小数部分_小数精度丢失问题分析和解决

    无论在什么业务中,钱?是非常重要的东西,对账的时候一定要对的上,不能这边少一分钱那边多一分钱.对于数值的计算,尤其是小数,floate和double都是禁止使用的. 阿里强制要求存放小数时使用 dec ...

最新文章

  1. 【第二篇】Volley的使用之加载图片
  2. 构建私有云时,需要考虑的十大要点
  3. [js插件]JqueryUI日期插件
  4. 当代年轻人,都有些不成文的规定?
  5. 四川省内二本计算机公立好的大学排名,四川有哪些二本院校是公立的?附四川省公立二本大学排名及分数线...
  6. 超导量子计算机速度多快,我国量子计算机实现量子霸权,计算速度比谷歌快了100亿倍...
  7. cognos-rs用下拉列表来控制交叉表的显示内容
  8. pr抖动插件_某宝价值135元的PS/AE/PR全套插件合集,一键安装,大神必备这一套就够了【第10期】...
  9. 点云 高斯 曲率matlab,计算三维散乱点云的曲率,包括主曲率,高斯曲率和平均曲率...
  10. CheckedListBoxControl 实现复选框的单选与多选功能
  11. 图书管理系统(一):出版社列表增加、删除和编辑
  12. Ghost module
  13. 笔记(八)Jetson Nano 跑通 jetson-inference
  14. 苹果app充值限制解除_2020还在充值退款?正规苹果app手游充值折扣来了!
  15. python判断素数的函数_python判断是否为素数
  16. JSON WEB TOKEN令牌快速入门学习 (jwt)
  17. 朋友圈爱心拼图php源码_朋友圈爱心形配图怎么弄 微信朋友圈九宫格心形拼图教程方法...
  18. oracle 固定顺序排序
  19. Android旗舰机与苹果,iPhone SE与最强Android旗舰机相比会如何
  20. 贴片电容封装尺寸与常规的贴片电阻的标准封装及额定功率 (转)

热门文章

  1. MyBatis的插入后获得主键的方式
  2. 2022-2028年中国光掩膜行业市场行情监测及未来前景规划报告
  3. Redis 笔记(07)— sorted set 类型(添加、删除有序集合元素、获取分数范围内成员、按score排序、返回集合元素个数)
  4. 网络安全工具:Nmap
  5. 第25章 Pytorch 如何高效使用GPU
  6. 开源软硬一体OpenCV AI Kit(OAK)
  7. GPU上如何优化卷积
  8. 提高智能家居设备的兼容性
  9. 图像超分辨率算法:CVPR2020
  10. C++ new 的使用