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));
  }
}

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

目录
相关文章
|
Java
Java BigDecimal 的舍入模式(RoundingMode)详解
Java BigDecimal 的舍入模式(RoundingMode)详解
380 0
|
Java
Java中BigDecimal 类的创建对象方法,介绍,常用方法以及8种舍入模式
Java中BigDecimal 类的创建对象方法,介绍,常用方法以及8种舍入模式
710 0
Java中BigDecimal 类的创建对象方法,介绍,常用方法以及8种舍入模式
大厂工程师如何实践BigDecimal的8种舍入模式
大厂工程师如何实践BigDecimal的8种舍入模式
149 0
|
算法 Java
BigDecimal的精度舍入模式详解
BigDecimal舍入模式介绍:   舍入模式在java.math.RoundingMode 里面: RoundingMode.CEILING :向正无限大方向舍入的舍入模式。如果结果为正,则舍入行为类似于 RoundingMode.UP;如果结果为负,则舍入行为类似于 RoundingMode.DOWN。
1783 0
|
6月前
|
Java
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
114 0
|
6月前
|
存储 Java
你知道Java中的BigInteger类和BigDecimal类吗?
你知道Java中的BigInteger类和BigDecimal类吗?
|
3月前
|
Java
【Java】Math、System、RunTime、BigDecimal类常用方法
【Java】Math、System、RunTime、BigDecimal类常用方法
|
5月前
|
Java
深入了解Java中的BigDecimal类及其方法
深入了解Java中的BigDecimal类及其方法
|
5月前
|
安全 Java
java中BigDecimal详解
java中BigDecimal详解
|
6月前
|
算法 Java API
java BigDecimal使用详细介绍
java BigDecimal使用详细介绍
java BigDecimal使用详细介绍