1.前言.
如题.
2.代码.
BigDecimal chengjiaoliangStrD=new BigDecimal(chengjiaoliangStr);
BigDecimal chengjiaojinerStrD=new BigDecimal(chengjiaojinerStr);
gp.setChengjiaoliang(chengjiaoliangStrD);
gp.setChengjiaojiner(chengjiaojinerStrD);
BigDecimal dKaiPai = new BigDecimal(kaiPaiStr).setScale(7);
BigDecimal dDangqian = new BigDecimal(dangQianStr).setScale(7);
BigDecimal ff = dKaiPai.subtract(dDangqian);
if(0==dKaiPai.compareTo(BigDecimal.valueOf(0l))){
gp.setZhangFu(BigDecimal.valueOf(0l));
return gp;
}
BigDecimal ffResult = ff.divide(dKaiPai,7,BigDecimal.ROUND_HALF_EVEN);
3.注意事项.
(1)bigdecimal包含double,初始化不用在字符串加其他,直接new BigDecimal ("0.000")或者BigDecimal.valueOf(0l)等即可。
(2)在各种运算的时候,要精确的位数必须预先定义好,否则将按照最低精度来,造成丢失精度。
(3)BigDecimal 支持最广泛的运算,不用担心。
(4)除法需要定义精度否则报错,BigDecimal.ROUND方式也要加上,否则也会报错,加减法不用。
(5)高精度运算推荐BigDecimal 代替double, double的运算很多bug,比如精度和转换等等。
分享到:
相关推荐
该项目是一款基于freeRTOS操作系统和STM32F103x微控制器的手机远程控制浴室温度系统设计源码,共包含1087个文件,包括580个C语言源文件、269个头文件、45个汇编源文件、36个数据文件、36个目标文件、35个编译规则文件、28个包含文件、27个文本文件、6个源文件、3个归档文件。此系统通过手机远程实现对浴室温度的有效控制,适用于智能浴室环境管理。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。