浅谈Java double 相乘的结果偏差小问题
#技术教程 发布时间: 2026-01-18
看下面的一段代码的运行结果:

public class TestDouble {
public static void main(String[] args) {
double d =538.8;
System.out.println(d*100);
}
输出结果很意外的不是 53880 而是53879.99999999999
解决方法一:
538.8*100 用*10*10 替换,才能得到我们想要的结果
538.8*10000 用 100*100替换。
解决方法二:
public class TestDouble {
public static void main(String[] args) {
double d =538.8;
BigDecimal a1 = new BigDecimal(Double.toString(d));
BigDecimal b1 = new BigDecimal(Double.toString(100));
BigDecimal result = a1.multiply(b1);// 相乘结果
System.out.println(result);
BigDecimal one = new BigDecimal("1");
double a = result.divide(one,2,BigDecimal.ROUND_HALF_UP).doubleValue();//保留1位数
System.out.println(a);
}
}
以上这篇浅谈Java double 相乘的结果偏差小问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
上一篇 : 如何使用mysql添加字段_mysql添加字段操作方法
下一篇 : mysqlcpu占用过高怎么办_mysql性能瓶颈定位
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!