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

BigDecimal的divide方法使用注意事项

 
阅读更多

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

 

 

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

BigDecimal定义了一下舍入模式,只有在作除法运算或四舍五入时才用到舍入模式,下面简单介绍,详细请查阅J2se API文档

分享到:
评论

相关推荐

    Java中BigDecimal的加减乘除、比较大小与使用注意事项

    ### `BigDecimal`的使用注意事项 1. **不可变性**:`BigDecimal`对象是不可变的,这意味着所有修改操作(如`add()`, `subtract()`, `multiply()`, `divide()`)都会创建新的`BigDecimal`实例。因此,赋值操作应如...

    BigDecimal使用

    下面是关于 BigDecimal 的使用方法和注意事项: 1. 导包:在使用 BigDecimal 之前,需要导入 java.math.BigDecimal 包。 2. 创建 BigDecimal 对象:可以通过多种方式创建 BigDecimal 对象,例如将 double 或 ...

    java中BigDecimal的操作方法

    本文将深入探讨BigDecimal的基本操作、应用场景及注意事项。 首先,创建BigDecimal对象时,推荐使用字符串(String)构造函数而不是double。例如: ```java BigDecimal b = new BigDecimal("12.000001"); ``` 这是...

    BigDecimal类

    使用 BigDecimal 的注意事项 * 由于一般数值类型,例如 double,不能准确地代表 16 位有效数以上的数字,在使用 BigDecimal 时,应用 BigDecimal(String) 构造器创建对象才有意义。 * 不能使用传统的+、-、*、/等...

    Java BigDecimal类的使用和注意事项

    不要直接使用`==`来比较两个`BigDecimal`对象,应该使用`compareTo()`方法,因为即使两个`BigDecimal`表示相同的数值,它们也可能不是同一个对象。例如: ```java BigDecimal a = new BigDecimal("1.0"); ...

    关于java中BigDecimal的简介(csdn)————程序.pdf

    5. 注意事项: - 在进行`BigDecimal`运算时,应避免直接使用操作符`+`、`-`、`*`、`/`,因为它们会导致基本类型的浮点数运算,从而失去精度控制。应该使用对应的`add()`、`subtract()`、`multiply()`、`divide()`...

    运用BigDecimal精确计算

    6. 注意事项: - 避免直接使用`+`、`-`、`*`、`/`运算符,因为它们会自动转换为`double`,失去精确性。 - 使用`BigDecimal`进行运算时,最好先创建好所有参与运算的对象,然后再进行运算,以避免多次创建`...

    BigDecimal基本运算介绍

    注意事项 - `BigDecimal` 的运算速度比基本数据类型的运算慢,因为它们涉及对象操作。 - `BigDecimal` 不支持算术运算符重载,必须使用提供的方法进行运算。 - 在比较 `BigDecimal` 对象时,应使用 `compareTo()` ...

    BigDecimal加减乘除计算.pdf

    本篇文章将详细探讨`BigDecimal`在加减乘除运算中的应用及其注意事项。 首先,`BigDecimal`对象的初始化有两种常见方式。一种是直接传入一个数字,如`new BigDecimal(0.005)`,另一种是传入一个字符串,如`new ...

    浅谈java中BigDecimal类的简单用法

    ### 注意事项 在进行 `BigDecimal` 运算时,应避免使用算术运算符,比如 `+` `-` `*` `/`,因为它们不会直接作用于 `BigDecimal` 对象,而是会尝试将其转换为其他类型,从而可能导致精度问题。正确做法是使用 `...

    double保留小数

    - 使用`divide`方法将`BigDecimal`对象除以1,并指定保留的小数位数`scale`以及舍入模式`ROUND_HALF_UP`。 - 最后返回处理后的`double`值。 2. **运行结果**: - 当输入`2.123123`和`4`时,输出为`2.1231`。 - ...

    JAVA API 总结

    ### JAVA API 总结 #### 一、Object 类 **Object** 类是所有 Java 类的根...以上总结了 Java 中一些常用 API 的基本使用方法和注意事项。理解这些 API 的功能和适用场景对于编写高效、健壮的 Java 应用程序至关重要。

    acm icpc java模板

    #### 使用`BigInteger`的注意事项 - 在进行大规模数值计算时,应避免使用`+`、`-`、`*`、`/`和`%`等基础运算符,因为它们针对的是基本数据类型。应使用`BigInteger`类提供的相应方法。 - 对于可能引发算术异常的...

    JAVA多功能科学计算器

    7. **文档**:`readme.txt`文件可能包含了项目的说明、使用指南或开发者注意事项,对于用户和贡献者来说是重要的参考。 总的来说,"JAVA多功能科学计算器"项目是一个综合性的实践,涵盖了Java GUI编程、事件处理、...

    java代码-实验报告Money

    3. `README.txt`文件可能包含了实验的具体要求、步骤、注意事项以及预期的结果,帮助读者更好地理解代码实现。 总结,Java代码-实验报告Money是一个学习和实践面向对象编程、金融计算精度控制以及良好编程习惯的好...

Global site tag (gtag.js) - Google Analytics