java.lang.ArithmeticException: Rounding necessary

发布时间:2018-07-11 15:56,

浏览次数:1201

, 标签:

BigDecimal

以下不会出现问题:

System.out.println(new BigDecimal("1225.12").setScale(2));

System.out.println(new BigDecimal("1225.1").setScale(2));

System.out.println(new BigDecimal("1225").setScale(2));

如下代码就是导致问题的原因:

System.out.println(new BigDecimal("1225.120").setScale(2));//不会出错

System.out.println(new BigDecimal("1225.121").setScale(2));//出错原因精度丢失问题,要指定舍入模式即可

解决方案如下:

有两种方法设置舍入模式,以下两种都是一样,前者是定义在enum类中的,后者是BigDecimal本类的定义的静态常量。

new BigDecimal("1225.125").setScale(2, RoundingMode.HALF_UP)

new BigDecimal("1225.121").setScale(2,BigDecimal.ROUND_HALF_UP)

以上两种方式解决了精度丢失的问题。

java lang arithmetic_java.lang.ArithmeticException: Rounding necessary相关推荐

  1. java lang arithmetic_java.lang.ArithmeticException: Division undefined

    原代码: BigDecimal htje; BigDecimal zgcghtje; BigDecimal bdTemp = BigDecimal.ZERO; double dRate; for(in ...

  2. BigDecimal的异常记录:java.lang.ArithmeticException: Rounding necessary

    记一次报错,代码样例: public static void main(String[] args) {BigDecimal bigDecimal = new BigDecimal(1234.5);i ...

  3. java.lang.ArithmeticException: Rounding necessary

    java.lang.ArithmeticException: Rounding necessary 原因:BigDecimal对象的小数位超出了我们保留的小数位,且保留的小数位后面出现非0的数值,故抛 ...

  4. Double转BigDecimal并保留两位小数出现异常: java.lang.ArithmeticException: Rounding necessary

    分享知识 传递快乐 Double 转 BigDecima l并保留两位小数出现异常: java.lang.ArithmeticException: Rounding necessary . 代码如下: ...

  5. BigDecimal类 setScale()方法java.lang.ArithmeticException: Rounding necessary

    BigDecimal调用setScale方法时,当未设置舍入模式时,系统会给个默认ROUND_UNNECESSARY(int 值为7)值,如果小数点后不为零,而且要保留的小数位数小于旧小数位数,那么此 ...

  6. Java java.lang.ArithmeticException: Rounding necessary问题解决

    问题描述: java.lang.ArithmeticException: Rounding necessary 问题分析: 1.使用BigDecimal.setScale(int newScale)方 ...

  7. BigDecimal类setScale方法问题:算数异常,精确度丢失-ArithmeticException: Rounding necessary

    BigDecimal类setScale方法问题:算数异常,精确度丢失-ArithmeticException: Rounding necessary 在运行如下代码时, package BigDeci ...

  8. java.lang.exception_java.lang.RuntimeException和java.lang.Exception

    在查看java.lang.RuntimeException和java.lang.Exception类之间的区别之前,您必须知道Exception层次结构.两个类Exception和Error类都派生自 ...

  9. java常用类库——lang包

    文章目录 lang包 Object 包装类 字符串 System Math Throwable 异常分类 异常处理 注释类型 Override lang包 ​ java.lang包是提供利用java编 ...

最新文章

  1. JSP页面中验证码的调用方法
  2. Sqlserver中一直在用又经常被忽略的知识点一
  3. python 如何从列表中剔除(去除)重复元素?set()
  4. 产品 电信nb接口调用_电信NB-IoT云平台数据对接方案——唐山平升电子技术开发有限公司...
  5. 动态规划-----------01背包,完全背包与多重背包
  6. quantum_如何从Firefox Quantum删除Pocket
  7. (21)H5之ruby标签
  8. js-刮刮卡效果,由jquery-eraser源码改的vue组件
  9. python数据可视化 - matplotlib专题:带数据标签的双batch的Bar图绘制示例
  10. python 24点题目分析_24点游戏的递归解法和Python实现
  11. C51单片机,点亮小灯的入门级教程
  12. 用了很多年的PC端离线版个人知识管理软件PKM2 Manager推荐给大家
  13. 感应加热计算机仿真软件,一种新型感应加热电源调功方式的研究与计算机仿真...
  14. C算法之一元二次方程组的解
  15. 一寸Timing一寸金,寸金能买寸光阴——CCD
  16. linux io apic,linux-kernel – IO-APIC级别与PCI-MSI-X之间的差异
  17. 回车符,换行符的区别
  18. 出现“windows已经阻止此软件因为无法验证发行者”
  19. b 标签和 strong 标签,i 标签和 em 标签的区别?
  20. python翻译-Python翻译器

热门文章

  1. Thinkphp实现超级漂亮实用的淘宝客平台源码
  2. 『矩阵论笔记』详解最小二乘法(矩阵形式求导)+Python实战
  3. 如何用python查看pyc文件_如何理解.pyc文件内容
  4. Problem - 1335E2 - Codeforces(暴力+优化)
  5. H5页面调用手机打电话、发短信、传邮件功能
  6. LaTeX复选框实现
  7. Java中找出缺失的数字
  8. 受保护的视图编辑会损害计算机,Word打开文件的时候显示受保护的状态怎么解决...
  9. 如何当好IT项目经理
  10. Blender:导入obj渲染及导出图片+深度图+法向图