- 报错:
java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. - 报错语句:
a.divide(b)); - 原因:
JAVA中如果用BigDecimal做除法的时候一定要在divide方法中传递第二个参数,定义精确到小数点后几位,否则在不整除的情况下,结果是无限循环小数时,就会抛出以上异常。 - 解决方法:
a.divide(b, 2, BigDecimal.ROUND_HALF_UP); - 总结:
注意这个divide方法有两个重载的方法,一个是传两个参数的,一个是传三个参数的:
//两个参数的方法: //传入除数 @param divisor value by which this {@code BigDecimal} is to be divided. //传入round的模式 @param roundingMode rounding mode to apply. //三个参数的方法: //传入除数 @param divisor value by which this {@code BigDecimal} is to be divided. //传入精度 @param scale scale of the {@code BigDecimal} quotient to be returned. //传入round的模式 @param roundingMode rounding mode to apply.
相关推荐
深入解析MSPM0系列Keil开发中‘ti_msp_dl_config.h‘缺失问题的根源与修复
本文深入解析TI MSPM0系列Keil开发中'ti_msp_dl_config.h'文件缺失问题的根源与修复方法。该错误常见于编译时提示file not found,主要因SysConfig工具未正确生成或工程路径配置错误导致。文章提供了从环境检查、手动生成文件到工程配置调整的系统化解决方案,帮助开发者快速解决这一常见KEIL开发难题。
【Java】BigDecimal中的divide方法报错,Exception in thread "main" java.lang.ArithmeticException:
一、问题 在使用BigDecimal做除法时,报错如下: Exception in thread “main” java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. 二、解决办法: 三、原因 1、d...
保姆级教程:用Verilog手把手实现一个MIPI CSI-2 D-PHY接收器(附PPI接口时序详解)
本文提供了一份详细的Verilog实现MIPI CSI-2 D-PHY接收器的教程,重点解析了PPI接口时序和deskew数据对齐技术。通过模块划分、时钟域处理、状态机设计和错误恢复机制等实战内容,帮助开发者掌握高速数据接收的核心技术,适用于嵌入式视觉系统开发。
BigDecimal在使用除法时的报错
报错可能是由于除法运算导致的非终止小数扩展引起的。当使用BigDecimal进行除法运算时,如果结果是一个无限循环的小数,会抛出ArithmeticException异常。设置参数,结果取两位小时,规则为四舍五入。
双内核架构 Xenomai 4 安装教程
双内核 Xenomai 4 安装指南
UE4游戏逆向实战:从HOOK明文包到自定义发包的完整流程(附加密算法解析)
本文详细解析了UE4游戏网络通信的逆向工程完整流程。从定位线程发包点、HOOK拦截明文封包,到逆向分析加密解密算法,最终实现自定义组包与加密发送。文章结合实战案例,为游戏安全研究和技术人员提供了一套清晰、可操作的方法论。
Bigdecimal做除法(divide)运算时报错:Non-terminating decimal expansion; no exact representable decimal result.
BigDecimal autoareameasure=work.getAutoareameasure(); //计算自动计算亩数和人工录入亩数相差范围值 BigDecimal areameasureZC=rgAreameasure.subtract(autoareameasure); Double roundVal=Double.valueOf(String.valueOf...
CarPlay wired(USB)连接方案
CarPlay的wired(USB)的连接方案要求车载设备至少要支持USB2.0 Hi-Speed,支持USB Host Mode,该模式要求车载设备能够工作在USB device模式下,因为Apple设备在CarPlay中是作为USB Host的。而通常情况下,车载设备USB是工作在USB Host模式的,而外接的USB设备是工作在USB Device模式的,因而在这种情况下的CarPlay wired(USB)连接方案中就需要进行USB的模式切换。模式切换完成后便是Apple设备(USB HOST)的枚
BigDecimal坑点:小数除不尽报错/除数为0报错
除数为0 double 或float类型,我们知道,如果除数为0,a>0,a/0的值为无穷大,-a/0为无穷小,0/0的值为NaN,这三个不会直接报错,可以进行比较。 但是如果使用BigDecimal是会报错的。。。。 小数除不尽 如1/3.0这种,double,float本身有精确度,就不会报错 BigDecimal会报Non-terminating decimal expans...
1、电路分析知识全解析:从基础到实践应用
本博客全面解析电路分析知识体系,涵盖从基础的电压、电流、电阻概念到复杂的交流电路、瞬态分析和高级应用如滤波器与变压器等内容。适合电子技术专业学生和技术爱好者学习,提供详细的知识结构、学习路径、实践示例以及丰富的学习资源,包括计算机模拟工具Multisim和PSpice的使用指导。通过理论与实践结合,帮助学习者掌握电路分析的核心技能,为电子工程和电力系统等相关领域打下坚实基础。
数字图像处理:直方图匹配或规定化Histogram Matching (Specification)原理及感悟
本文介绍了连续图像和数字图像直方图匹配(直方图规定化)的原理、处理过程,并提供了案例进行了讲解。可以看到,直方图均衡处理是直方图匹配的一个重要桥梁。 最后,对于直方图规定化这个翻译个人觉得很low,个人感觉叫指定直方图更好理解,但Histogram Specification怎么翻译确实不太好把握,因此还是叫Histogram Matching直方图匹配最好。
java divide 方法_BigDecimal的divide方法报错
报错:java.lang.ArithmeticException:Non-terminatingdecimalexpansion;noexactrepresentabledecimalresult.报错语句:a.divide(b));原因:JAVA中如果用BigDecimal做除法的时候一定要在divide方法中传递第二个参数,定义精确到小数点后几位,否则在不整除的情况下,结果是无...
老版QQ原生表情gif动态
这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。
Java 使用BigDecimal,正弦函数sin(x)级数计算其值
private static BigDecimal bigDecimal(String val){ return new BigDecimal(val); } public static BigDecimal sin3(BigDecimal x) { //把大于 -2PI 和 2PI 的值放入区间内 BigDecimal rSign = bigDecimal("1"); // int rSign = 1; i.
STM32F407中文手册
STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
bigdecimal除法不四舍五入_BigDecimal除法方法divide()保留位问题
在使用BigDecimal除法方法divide()时,如果处理不当代码会报异常import java.math.BigDecimal;public class BigDecimalTest {public static void main(String[] args) {BigDecimal b1 = new BigDecimal("64.7024");//24.698,24.702BigDeci...
蓝牙模块HM-10手册
蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。
Java:Non-terminating decimal expansion; no exact representable decimal result解决
Java:Non-terminating decimal expansion; no exact representable decimal result解决
BigDecimal做除法运算报java.lang.ArithmeticException: Non-terminating decimal expansion; no exact represent
今天在使用两个BigDecimal类型的数字做除法运算时,出现了一个如下的异常信息: java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. 通过BigDecimal的divide方法进行除法时当不整除,出现无限循环小数时,就会抛异常
BigDecimal的除法运算 报错 Non-terminating decimal expansion; no exact representable decimal result.
Non-terminating decimal expansion; no exact representable decimal result. 今天干活跑别人接口的时候遇到一个报错,记录一下 这个错误一般出现在BigDecimal的除法运算中,如: //像这样不做小数位数处理的话就有可能会报错BigDecimal result= num1.divide(num2); 正确的: //设...
java divide 用法_Java关于BigDecimal的介绍及用法(二)
一、BigDecimal格式化由于NumberFormat类的format()方法可以使用BigDecimal对象作为其参数,可以利用BigDecimal对超出16位有效数字的货币值,百分值,以及一般数值进行格式化控制。以利用BigDecimal对货币和百分比格式化为例。首先,创建BigDecimal对象,进行BigDecimal的算术运算后,分别建立对货币和百分比格式化的引用,最后利用BigDe...
BigDecimal divide除法除不尽报错
用BigDecimal做除法的时候,直接拿起两数怼上除法有时候会出现除不尽就会报错, 列如: BigDecimal a = new BigDecimal(10); BigDecimal re = a.divide(new BigDecimal(3)); System.out.println(re);...
BigDecimal 之 divide() 方法的问题
使用 BigDecimal 做除法的时候,会有两种情况出现: 一、能够整除 程序正常执行,无错误。 二、不能整除 程序报错。 异常信息如下: java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. 解决方案 不能整除时,需加上精度 或 roun...
使用BigDecimal的divide报异常
使用BigDecimal的divide报异常 图片: 出现这个的原因是BigDecimal的divide方法需要取具体的小数位。 解决方法如下:
BigDecimal加减乘除计算
BigDecimal的运算——加减乘除 首先是bigdecimal的初始化 这里对比了两种形式,第一种直接value写数字的值,第二种用string来表示 我们对其进行加减乘除绝对值的运算,其实就是Bigdecimal的类的一些调用 BigDecimal num1 = new BigDecimal(0.005); BigDecimal num2 = new BigDecimal(1000000); BigDecimal num3 = new BigDecimal(-1000000); //尽
BigDecimal加减乘除使用
分享知识 传递快乐 简介 Java中提供了大数字(超过16位有效位)的操作类,即 java.math.BinInteger 类和 java.math.BigDecimal 类,用于高精度计算。Float和Double只能用来做科学计算或者是工程计算;在金融计算中,对数字精度要求较高,必须使用 BigIn...
BigDecimal divide异常
异常报错信息:Non-terminating decimal expansion; no exact representable decimal result. java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. 问题原因:通
bigdecimal divide用法_好程序员Java培训分享BigDecimal的用法
好程序员Java培训分享BigDecimal的用法,如果对数值结果精度要求很高,那么就可以使用BigDecimal,BigDecimal可以精准的控制小数点后面的数字Java培训 1. 实例 BigDecimal 对象 通常会使用 String 和 int 构造方法实例出 BigDecimal 对象,即 new BigDecimal(String val); new BigDecima...
970



被折叠的 条评论
为什么被折叠?



