`
wusj1989
  • 浏览: 16174 次
社区版块
存档分类
最新评论

BigDecimal 错误

阅读更多

使用BigDecimal中遇到的错误,从网上找的资料

 

金额的数据类型是BigDecimal 
通过BigDecimal的divide方法进行除法时当不整除,出现无限循 环小数时,就会抛异常的,异常如下:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. at java.math.BigDecimal.divide(Unknown Source) 

应用场景:一批中供客户的单价是1000元/年,如果按月计算的话1000/12=83.3333333333.... 

解决之道:就是给divide设置精确的小数点divide(xxxxx,2, BigDecimal.ROUND_HALF_EVEN)

分享到:
评论

相关推荐

    BigDecimal的计算

    它适用于金融计算、科学计算等场景,在这些场景中,使用浮点数(如 `float` 和 `double`)可能会因为精度丢失而导致错误的结果。本文将基于提供的代码片段来详细解释如何使用 `BigDecimal` 进行计算,并深入探讨其...

    java BigDecimal操作

    总的来说,理解和熟练运用BigDecimal是每个Java开发者必备的技能之一,特别是在处理货币计算、财务计算等场景时,能够避免因为浮点数精度问题导致的错误。在使用BigDecimal时,一定要注意其性能开销,因为它比基本的...

    MyEditTextApplication输入框BigDecimal计算价格

    7. **UI更新**:在更新EditText中的显示时,应该在UI线程进行,否则可能会导致ANR(Application Not Responding)错误。可以使用runOnUiThread()方法或者Handler来保证更新操作在正确的线程中执行。 综上所述,...

    BigDecimal-CPP-master.zip

    BigDecimal是一种可以处理任意精度的十进制浮点数的数据类型,它通常用于金融或会计等需要高精度计算的领域,因为在这些场景中,浮点数的精度丢失可能导致错误的结果。 在计算机科学中,浮点数(如`float`和`double...

    Bigdecimal.js

    在IT行业中,尤其是在涉及到金融、电子商务等领域,精准的数值计算是至关重要的。"Bigdecimal.js"就是这样一...通过深入理解和应用这个库,开发者能够确保他们的应用程序在进行关键计算时不会因为精度问题而引入错误。

    运用BigDecimal精确计算

    在Java编程语言中,...通过这样的方式,我们可以确保在计算过程中不会因为浮点数的精度问题而产生错误的结果。在实际项目中,结合`Arith.java`和`test.java`,我们可以编写更复杂的逻辑,以适应各种精确计算的需求。

    Java中BigDecimal类的简单用法

    BigDecimal类的使用能够确保计算结果的准确无误,避免了因浮点数精度问题导致的错误。例如,当你需要进行货币的加减乘除时,直接使用double或float可能会造成几分钱的误差,这对于财务系统来说是不可接受的。使用...

    BigDecimal加减乘除计算.pdf

    在Java编程语言中,`BigDecimal`类用于处理大整数和高精度小数的运算,以确保计算结果...通过了解这些知识,可以避免因浮点数精度问题导致的计算错误,从而在金融、会计等对精度有严格要求的领域中实现准确的数学运算。

    Java BigDecimal使用及基本运算(推荐)

    BigDecimal 类在 Java 中是用于处理高精度和大数值计算的,它确保了在计算过程中不会因为浮点数的精度问题而导致结果错误。由于 double 和 float 类型在处理大数或需要绝对精确计算的场景下存在精度损失,因此 ...

    高精度JSBigDecimal运算

    例如,在电商网站进行价格计算时,可以确保小数部分的正确性,防止因精度问题导致的金额计算错误。在科学计算中,高精度的BigDecimal运算也能确保实验结果的准确性。 总的来说,高精度JSBigDecimal运算库通过提供高...

    mybatis数据类型错误及解决方法

    在使用MyBatis框架进行Java开发时,我们经常会遇到数据类型错误的问题,这些错误主要源自于数据库字段类型与Java对象属性类型不匹配、SQL语句中的类型转换不当或MyBatis配置文件中的设置错误。本篇文章将深入探讨...

    浅谈java中BigDecimal的equals与compareTo的区别

    在Java编程语言中,BigDecimal类用于表示任意精度的十进制浮点数,它提供了...对于财务计算,通常会采用`compareTo`来避免因小数点后零的差异导致的错误。理解这两个方法的差异,可以帮助我们编写更健壮和精确的代码。

    Calculator:BigDecimal类的便捷包装器,允许计算运算忽略乘和除零的影响

    4. **错误处理**:Calculator内部可能包含错误处理机制,如记录错误日志或提供错误回调接口,以便开发者可以捕获并处理这些特殊情况,而不必在每个运算中都进行异常处理。 5. **扩展的数学运算**:Calculator除了...

    Java BigDecimal类的使用和注意事项

    Java中的`BigDecimal`类是用来处理高精度和任意精度的十进制数值的,它主要...理解并正确使用`BigDecimal`可以帮助开发者避免因浮点数运算精度问题导致的错误,尤其在处理金融计算和其他需要精确数值的场景中尤为重要。

    S2dMath:一个简单的数学库,主要用于使用简单的 API 执行 BigDecimal Math

    例如,除以零的情况会抛出特定的异常,而不是Java的运行时异常,这样可以更好地控制程序的流程,避免不必要的错误传播。 在实际应用中,S2dMath库可以广泛应用于财务系统、统计分析、科学计算等领域。由于其基于...

    Java中BigDecimal类与int、Integer使用总结

    在Java编程语言中,处理高精度的数值计算时,我们常常会遇到浮点数精度丢失的问题,这在涉及金融计算或任何需要精确数值操作的场景下尤为关键。...遵循这些原则,可以有效地避免因精度误差导致的潜在错误。

    Java中double类型下出现精度计算错误情况下出力方法

     要保证精度就要使用BigDecimal类,而且不能直接从double直接转BigDecimal,要将double转string再转BigDecimal。也就是不能使用BigDecimal(double val) 方法,你会发现没有效果。要使用BigDecimal(String val) 方法...

    Java 计算类

    这个过程中的错误处理体现在将空字符串或null值转换为0,然后进行计算。 2. 减法操作(sub):与加法类似,也接受两个字符串类型的参数,进行BigDecimal对象转换后执行相减操作,返回字符串类型的结果。 3. 乘法...

    Java中如何正确进行浮点数运算

    在Java编程中,浮点数运算常常会遇到精度问题,这是由于浮点数在计算机内部的存储方式导致的。...在进行浮点数运算时,务必考虑精度问题,并根据实际情况选择合适的方法,以避免潜在的错误和误解。

    redscale:用于 JavaScriptClojureScript 的 BigInteger、BigDecimal 和 Ratio 库

    - **财务计算**:BigDecimal确保金融计算的精确性,避免因浮点数误差导致的错误。 - **游戏开发**:在处理大量物体位置、速度等数据时,大整数和高精度浮点数计算是必要的。 - **科学计算**:BigDecimal适合处理需要...

Global site tag (gtag.js) - Google Analytics