概述
使用BigDecimal类
public class Application {
//springboot项目代码必须放到Application类所在的同级目录或下级目录
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
BigDecimal a = new BigDecimal("0.12354511111111");
BigDecimal b = new BigDecimal("0.11111111111111");
double a1 = 0.12354511111111;
double a2 = 0.11111111111111;
double c1 = a1*a2;
double c =a.multiply(b).doubleValue();
System.out.println(c);
System.out.println(c1);
}
输出结果:很明显,下面直接double相乘的进度损失了,用BigDecimal构造方法转换的double类型的数据相乘结果是正确的,精度没有损失。
0.013727234567900974
0.013727234567900972
最后
以上就是耍酷羽毛为你收集整理的double类型的数据相乘,结果精度不够的解决方法的全部内容,希望文章能够帮你解决double类型的数据相乘,结果精度不够的解决方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复