首页 > 其他分享 >BigDecimal 舍入模式(Rounding mode)中的ROUND_UNNECESSARY

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

时间:2022-12-30 22:23:21浏览次数:63  
标签:舍入 BigDecimal Rounding ArithmeticException UNNECESSARY 模式 ROUND

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

	}

}

 

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

首发链接:https://www.cnblogs.com/lingyejun/p/17015932.html

标签:舍入,BigDecimal,Rounding,ArithmeticException,UNNECESSARY,模式,ROUND
From: https://www.cnblogs.com/lingyejun/p/17015932.html

相关文章

  • BigDecimal类
    思考代码输出结果publicclassTestBigDecimal{publicstaticvoidmain(String[]args){doubled1=1.0;doubled2=0.9;System.ou......
  • 大数处理-BigInteger 和 BigDecimal 类
    1.BigInteger和BigDecimal类应用场景BigInteger适合保存比较大的整型;BigDecimal适合保存精度更高的浮点型(小数);2.BigInteger和BigDecimal常见方法publi......
  • BigDecimal类型返回前端精度丢失
    原文链接:https://www.jianshu.com/p/5907ae7cba72BigDecimal长度太长,返回给前端,精度会丢失,即后几位都会变成0.解决办法:给前端返回字符串类型。加注解:@JsonSerialize(......
  • BigDecimal multiply乘法运算
    BigDecimalmultiply乘法运算packagecom.example.core.mydemo;importjava.math.BigDecimal;publicclassMulTest{publicstaticvoidmain(String[]args)......
  • BigDecimal
    Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数......
  • Java中的BigDecimal比较大于小于等于,四舍五入保留几位(setScale方法详解),加减乘除取余
    本文主要讲解BigDecimal的比较运算,保留精度和取整和基础运算,BigDecimal与其他数据类型转换。比较运算比较num1是否大于num2publicstaticbooleangt(@NotNullBigD......
  • @DecimalMax注解 : does not represent a valid BigDecimal format
    一个小疏忽,导致踩了半天的坑。。。。。这是在由于实体类里面使用了​​@DecimalMax​​​注解,然后在使用​​ValidatorUtils.validateEntity();​​进行参数验证的时候报的......
  • BigDecimal类型的值比较大小
    使用compareTo方法:eg1:intresult=bigdemical1.compareTo(bigdemical2)result=-1,表示bigdemical1小于bigdemical2;result=0,表示bigdemical1等于bigdemical2;result=......
  • BigDecimal
    Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的......
  • jaava之BigDecimal
    BigDecimal常见异常除法的时候出现异常java.lang.ArithmeticException:Non-terminatingdecimalexpansion;noexactrepresentabledecimalresult原因分析:......