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,比如精度和转换等等。
分享到:
相关推荐
在Java编程语言中,`BigInteger`和`BigDecimal`是两个重要的类,它们分别用于处理大整数和高精度浮点数。这两个类位于`java.math`包下,为开发者提供了超越基本数据类型(如int、long和double)的计算能力。在深入...
`BigDecimal`类在Java等其他语言中是专门用来处理高精度十进制数的,它提供了丰富的算术运算方法,确保计算结果的精确性。在JavaScript中,虽然没有内置的`BigDecimal`类,但开发者可以通过第三方库来实现类似的功能...
你是否因为JS端的小数计算的精度不足而发愁过呢 其实有个不错的资源可以利用。 引用附件的JS,就可以轻松搞定JS的计算问题了。 使用例 <!-- function //+ alert(new BigDecimal("10").add(new BigDecimal("3E+...
标题中的"BigDecimal-CPP-master.zip"表明这是一个与BigDecimal类实现相关的C++项目压缩包。BigDecimal是一种可以处理任意精度的十进制浮点数的数据类型,它通常用于金融或会计等需要高精度计算的领域,因为在这些...
Java中BigInteger的数学运算,BigDecimal 加减乘除运算,Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大...
js中操作Bigdecimal类,包含所有java中bigdecimal的操作,加减乘除,四舍五入,比较等。
总之,BigDecimal.js是一个强大的JavaScript库,专门用于处理大数的高精度计算,通过引入"BigDecimal-all-last.min.js",开发者可以获得精确的大数运算能力,从而避免JavaScript原生数据类型的精度问题。在开发过程...
在Java编程语言中,BigDecimal是用于处理高精度和可配置精度的十进制数的类。在进行商业计算时,由于浮点数(double和float)存在精度问题,不能保证准确的结果,因此通常推荐使用BigDecimal来确保计算的精确性。本文...
通过封装这些方法,ArithmeticUtils简化了在Java程序中进行高精度运算的过程。 该工具类支持通过方法参数控制运算的精度,包括: 1. 提供精确的加法运算:通过两个参数(被加数和加数)进行加法运算,可以返回加法...
在Java编程语言中,BigDecimal类是用于处理高精度、大范围浮点数的工具,它在需要精确计算的场景下非常关键。BigDecimal提供了避免浮点数运算中的精度损失的方法,适用于金融、会计等对精度有严格要求的领域。这篇...
java高精度计算通常是指使用BigDecimal类来实现高精度计算,通过设置保留的小数位数来控制计算结果的精度。 java高精度计算的重要性 1. 金融应用:在金融应用中,高精度计算是非常重要的,因为小数点后面的一分钱...
Java中的BigDecimal是一种高精度的数据类型,它可以用来表示非常大的整数和小数,提供了丰富的数学运算功能。下面我们将对Java中BigDecimal的基本运算进行详细的介绍。 构造方法 BigDecimal有四种构造方法,但是...
离线安装包,亲测可用
为了解决这个问题,开发者们引入了`BigDecimal`类库的概念,它在Java中被广泛使用,用于进行高精度的算术运算。本文将详细介绍JavaScript版的`BigDecimal`类库,以及如何在JavaScript环境中实现精确计算。 ...
Centos7 el7.x86_64 官方离线安装包,安装指令为 sudo rpm -ivh rubygem-bigdecimal-1.2.0-39.el7_9.x86_64.rpm
Java SE程序 BigDecimal类Java SE程序 BigDecimal类Java SE程序 BigDecimal类Java SE程序 BigDecimal类Java SE程序 BigDecimal类Java SE程序 BigDecimal类Java SE程序 BigDecimal类Java SE程序 BigDecimal类Java SE...
`BigDecimal` 类是 Java 中用于高精度浮点数计算的关键工具,主要解决 `float` 和 `double` 类型在处理货币、财务等需要精确计算场景时存在的精度问题。`BigDecimal` 的运算方式与基本数据类型有所不同,因为它涉及...
BigDecimal 类在 Java 中是用于处理高精度和大数值计算的,它确保了在计算过程中不会因为浮点数的精度问题而导致结果错误。由于 double 和 float 类型在处理大数或需要绝对精确计算的场景下存在精度损失,因此 ...
Java中的`BigDecimal`类是用于表示和操作高精度浮点数的重要工具,尤其适用于需要进行精确计算的场景,如财务和货币计算。由于基本数据类型`double`和`float`在进行大数值或高精度计算时可能会导致精度丢失,因此`...
在Java编程中,当涉及到需要精确数值计算的场景时,我们通常会使用`BigDecimal`类。这是因为`float`和`double`类型虽然适用于科学计算和工程计算,但它们基于二进制浮点运算,不能保证完全精确的结果。而`BigDecimal...