BigDecimal 舍入模式(Rounding mode)中的ROUND_UNNECESSARY

简介: BigDecimal 舍入模式(Rounding mode)中的ROUND_UNNECESSARY

BigDecimal.ROUND_UNNECESSARY

翻译:舍入模式可以断言所请求的操作具有准确的结果,因此不需要舍入。如果在产生不精确结果的操作上指定了这种舍入模式,则会引发ArithmeticException。

解释:计算结果必须是精确的,不需要舍入的,否则抛出 ArithmeticException。

import java.math.BigDecimal;
public class BigDecimalTest {
  public static void main(String[] args) {
    BigDecimal bigDecimal1 = new BigDecimal("0.12345");
    BigDecimal bigDecimal2 = new BigDecimal("-0.12345");
                // 正确        
    System.out.println(bigDecimal1.setScale(6, BigDecimal.ROUND_UNNECESSARY));
               // 错误,需要舍入,结果不明确,抛出异常ArithmeticException
    System.out.println(bigDecimal2.setScale(3, BigDecimal.ROUND_UNNECESSARY));
  }
}

本篇文章如有帮助到您,请给「翎野君」点个赞,感谢您的支持。

目录
打赏
0
0
0
0
12
分享
相关文章
Java BigDecimal 的舍入模式(RoundingMode)详解
Java BigDecimal 的舍入模式(RoundingMode)详解
504 0
Java中BigDecimal 类的创建对象方法,介绍,常用方法以及8种舍入模式
Java中BigDecimal 类的创建对象方法,介绍,常用方法以及8种舍入模式
794 0
Java中BigDecimal 类的创建对象方法,介绍,常用方法以及8种舍入模式
大厂工程师如何实践BigDecimal的8种舍入模式
大厂工程师如何实践BigDecimal的8种舍入模式
159 0
BigDecimal的精度舍入模式详解
BigDecimal舍入模式介绍:   舍入模式在java.math.RoundingMode 里面: RoundingMode.CEILING :向正无限大方向舍入的舍入模式。如果结果为正,则舍入行为类似于 RoundingMode.UP;如果结果为负,则舍入行为类似于 RoundingMode.DOWN。
1822 0
|
9月前
|
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
154 0
|
9月前
|
你知道Java中的BigInteger类和BigDecimal类吗?
你知道Java中的BigInteger类和BigDecimal类吗?
145 0
|
6月前
|
【Java】Math、System、RunTime、BigDecimal类常用方法
【Java】Math、System、RunTime、BigDecimal类常用方法
|
8月前
|
深入了解Java中的BigDecimal类及其方法
深入了解Java中的BigDecimal类及其方法
131 1
java中BigDecimal详解
java中BigDecimal详解
java BigDecimal使用详细介绍
java BigDecimal使用详细介绍
145 0
java BigDecimal使用详细介绍
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等