`
somebody_hjh
  • 浏览: 182078 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

BigDecimal的8种舍入方式

    博客分类:
  • Java
阅读更多
在银行、帐户、计费等领域,BigDecimal提供了精确的数值计算。其中8种舍入方式值得掌握。


ROUND_UP
      远离零的方向舍入  

ROUND_DOWN
      靠近零的方向舍入

ROUND_CEILING
      靠近正无穷方向舍入

ROUND_FLOOR
      靠近负无穷方向舍入

ROUND_HALF_UP
      四舍五入,生活中的舍入方法。

ROUND_HALF_DOWN
      五舍六入

ROUND_HALF_EVEN
      精确舍入,银行家舍入法。四舍六入,五分两种情况。如果前一位为奇数,则入位,否则舍去。以下例子为保留小数点1位,那么这种舍入方式下的结果。
      1.15>1.2    1.25>1.2

ROUND_UNNECESSARY
      无需舍入
0
0
分享到:
评论

相关推荐

    运用BigDecimal精确计算

    创建`BigDecimal`对象通常有两种方式,一是通过`new BigDecimal(String)`构造器,二是通过`BigDecimal.valueOf(double)`方法。前者接受一个字符串,后者接受一个double值。但需要注意的是,从`double`转换成`...

    详解java的四舍五入与保留位示例

    Java中的四舍五入与保留位示例 Java中的四舍五入是指对数字进行舍入操作,以达到指定的...四舍五入规则可以是银行家舍入法或普通四舍五入规则,保留位可以使用多种方式来实现,包括使用BigDecimal类和setScale()方法。

    Java BigDecimal类用法详解

    - `divide(BigDecimal divisor, int scale, RoundingMode roundingMode)`:除法运算,指定标度和舍入模式。 - `multiply(BigDecimal multiplicand)`:乘法运算。 6. **性能考虑**: 虽然`BigDecimal`提供了精确...

    浅谈java中BigDecimal类的简单用法

    4. **divide(BigDecimal)** - 相除,可能需要指定精度和舍入模式,如 `divide(other, scale, RoundingMode.HALF_UP)`。 5. **toString()** - 返回 `BigDecimal` 的字符串表示形式。 6. **doubleValue()** - 转换为 `...

    BigNumber-源码.rar

    `BigDecimal`提供了多种舍入策略,如ROUND_UP(向上舍入)、ROUND_DOWN(向下舍入)等。在进行运算时,如果结果无法精确表示,系统会根据所选择的舍入策略决定如何处理多余的位数。 5. **比较操作** `compareTo()...

    浮点数计算为什么会出错

    计算机使用的是IEEE 754标准来表示浮点数,32位的float和64位的double格式分别是该标准下的两种最常见的表示方式。在32位的float格式中,包括1位符号位、8位指数位和23位尾数位。在64位的double格式中,则包含1位...

    实例025 - 更精确地使用浮点数

    浮点数舍入有多种策略,包括四舍五入、向零舍入、向上舍入等。理解并选择合适的舍入策略可以避免一些意外的精度问题。 8. **浮点数异常处理**: 浮点数运算可能会引发异常,如除以零、溢出等。编程时需要考虑这些...

    StringUtils

    - **用途**:此方法用于将 `double` 类型数值保留到两位小数,并采用四舍五入的方式进行舍入。 - **适用范围**:适用于任何需要对浮点数进行格式化的场景。 - **注意事项**: - 使用 `BigDecimal` 进行舍入操作可以...

    浅谈Java double 相乘的结果偏差小问题

    这是因为计算机内部表示浮点数的方式是有限精度的,基于二进制的浮点数表示方式可能导致小数部分的四舍五入误差。本文将深入探讨这个问题,并提供两种解决方案。 首先,我们需要理解浮点数在计算机中的存储原理。...

    CoreJava面试技巧1.19.pdf

    - **小数运算**:对于小数运算,尤其是需要精确控制舍入方式的情况,可以使用`BigDecimal`类。 ```java BigDecimal b1 = new BigDecimal("1"); BigDecimal b2 = new BigDecimal("3"); BigDecimal b3 = b1....

    java问题及对策

    如果需要进行更复杂的四舍五入操作,可以使用`BigDecimal`类的`setScale()`方法,或者`java.text.DecimalFormat`类进行格式化。 以上只是Java问题解决的一部分,实际开发中可能还会遇到其他问题,如HTML元素操作、...

    蓝桥杯java习题.doc

    在上面的代码中,我们使用BigDecimal.setScale()方法来实现四舍五入,然后使用intValue()方法来获取结果。在while循环中,我们不断地计算前后两项的比值,直到它达到与黄金分割数一致的精度。 知识点4:海盗船长...

    用面向对象方法设计实现整数的四则运算(java).pdf

    在 `changeFormat()` 方法中,`BigDecimal` 用来设置结果的保留位数和四舍五入模式。 通过以上分析,我们可以看到这个简单的面向对象设计是如何将四则运算的逻辑封装在类中,并通过接口提供了一种统一的调用方式。...

    Joda-Money-用于表示货币金额的Java库

    - `multiply(BigDecimal)`和`divide(BigDecimal)`进行乘除运算,注意结果可能需要四舍五入。 - `compareTo(Money)`实现金额的比较,用于排序或判断大小。 - `scaleByPowerOfTen(int)`可以将金额按照10的幂进行缩放。...

    JAVA浮点数计算精度损失底层原理与解决方案

    在这个示例中,我们使用`BigDecimal`的`add()`, `subtract()`, `multiply()`和`divide()`方法来进行浮点数运算,并且在除法中使用`RoundingMode`来指定舍入模式,确保得到期望的计算结果。 2. 控制浮点数运算的精度...

    ARCH4系统开发指南

    2.20.4.3 舍入模式 51 2.20.4.3.1 ROUND_CEILING 51 2.20.4.3.2 ROUND_FLOOR 52 2.20.4.3.3 ROUND_DOWN 53 2.20.4.3.4 ROUND_UP 54 2.20.4.3.5 ROUND_ UNNECESSARY 55 2.20.4.3.6 ROUND_HALF_DOWN 56 2.20.4.3.7 ...

    jdk-api-1.8-google翻译中文版

    Math类增加了更多的数学运算方法,如Math.round双精度浮点数的四舍五入。此外,还引入了BigDecimal类的一些新方法,如stripTrailingZeros(),提高了大数运算的精度和灵活性。 总的来说,JDK 1.8的API极大地扩展了...

    java中math类的使用

    `Math.round()`则按四舍五入规则返回最接近的整数值。这些方法用于数值的取整操作。 #### Math.pow(), Math.sqrt() `Math.pow()`用于计算一个数的幂次方,例如`Math.pow(2, 3)`将返回8。`Math.sqrt()`则用于计算一...

    Java核心技术介绍-java核心技术讲解word格式可编辑.docx

    Java提供了多种方式来格式化数字,例如保留小数位数并采用四舍五入的方式: ```java public class FormatExample { double f = 111231.5585; public void method1() { BigDecimal bg = new BigDecimal(f); ...

    Java与MySQL中小数保存问题解析.pptx.pptx

    4. 在运算过程中,适时进行四舍五入处理,以避免精度损失累积。 在实际操作中,Java程序通过JDBC与MySQL数据库交互时,需要特别注意数据类型的对应关系。Java的float对应MySQL的FLOAT,double对应DOUBLE。当处理...

Global site tag (gtag.js) - Google Analytics