- 😜作 者:是江迪呀
- ✒️本文关键词:
日常BUG
、BUG
、问题分析
- ☀️每日 一言 :
存在错误说明你在进步!
一、问题描述
直接上代码:
@Test
public void test22() throws ParseException {
System.out.println(new BigDecimal(0).divide(new BigDecimal(54)).setScale(2,BigDecimal.ROUND_HALF_UP));
}
报错内容:
Non-terminating decimal expansion; no exact representable decimal result.
二、问题原因
原来JAVA中如果用BigDecimal
做除法的时候一定要在divide方法中传递第二个参数,定义精确到小数点后几位,否则在不整除的情况下,结果是无限循环小数时,就会抛出以上异常。文章来源:https://www.toymoban.com/news/detail-644695.html
三、问题解决
将代码修改成下面所示即可:文章来源地址https://www.toymoban.com/news/detail-644695.html
@Test
public void test22() throws ParseException {
System.out.println(new BigDecimal(0).divide(new BigDecimal(54),2,BigDecimal.ROUND_HALF_UP));
}
到了这里,关于日常BUG——Java使用Bigdecimal类型报错的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!