首页 > 编程知识 正文

bigdecimal除法取整,bigdecimal比较是否相等

时间:2023-05-03 12:44:10 阅读:128031 作者:761

海豚精灵:https://www.whhtjl.com;优课GO:https://mgo.whhtjl.com

一、乘法(精度问题) )

优科GO业务要求:购卡用户支付成功后,直接奖励30%的卡费给推广人员,保留2位小数,舍去舍去的小数前不增加数字。

打包测试; import java.math.BigDecimal; import java.math.RoundingMode; 公共类测试{ publicstaticvoidmain (字符串[ ] args ) {String money='0.1 '; //牌照费bigdecimalreallypaymoney=new bigdecimal (money ); System.out.println (结果: ' really pay money.multiply (new bigdecimal ) 0.3 ).setScale(2) 2,RoundingMode.DOWN )

zzdyx,0.1*0.3不是0.03吗? 为什么是0.02?

之后,Decimal在进行乘法运算时,将0.3进行模型变换为float,发现精度不够,值发生了变化,没能计算出理想值。

此解决方案是在初始化时将参数设置为字符串类型

修改代码并再次运行后,结果如下。

2 .除法(得出无限循环小数) ) ) ) ) )。

system.out.println (bigdecimal.one.divide ) newbigdecimal('3' ); 报告错误如下。

解决方法是在运算时设定精度,修改代码后执行。 结果如下。

好了

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。