double使用浮点数导致的精度显示问题 柔情只为你懂 2022-08-29 10:42 136阅读 0赞 1、业务描述 最近有个业务需求,需要给门店做个大屏展示业务功能,推广业务使用。其中有个字段是返回一个2位小数的比例。例如使用率 use=2.2% 2、问题描述 有一天大屏显示突然出现了2.1999999999%,将这个数值展示到大屏上,需要紧急修复。 3、问题代码 double v = (new BigDecimal(confirmedAbnormalCount).divide(new BigDecimal(abnormalBillCount), 4, RoundingMode.HALF_UP)).doubleValue(); l2Ratio = (v*100)+"%"; l2Ratio = (v\*100)+"%";出现double精度缺失问题。 认真反思,还是自己没有真正理解在Java中,float和double都是浮点数,是二进制数值表示的,就可能出现精度缺失问题。所以处理float和double类型数值时,必须注意精度问题。 4、问题解决 double v = (new BigDecimal(confirmedAbnormalCount).divide(new BigDecimal(abnormalBillCount), 4, RoundingMode.HALF_UP)).multiply(new BigDecimal(100)).setScale(2,RoundingMode.HALF_UP).doubleValue(); l2Ratio = Double.toString(v) + "%"; 5、收获与反思 ①关于double和float类型的加减乘除必须使用BigDecimal。 ②更加理解计算机中浮点数二进制表示会导致精度问题。 解决问题中有篇文章感觉不错,分享给大家。 [https://blog.csdn.net/qq\_35868412/article/details/89029288][https_blog.csdn.net_qq_35868412_article_details_89029288] [https_blog.csdn.net_qq_35868412_article_details_89029288]: https://blog.csdn.net/qq_35868412/article/details/89029288
相关 Java中处理double浮点数精度问题的方法 > 摘要:在Java编程中,处理浮点数时常常会涉及到精度问题,这可能导致计算结果不准确。本文将介绍一种优化方法,通过使用Java的BigDecimal类来提高浮点数的精度,并实 ╰半橙微兮°/ 2024年03月27日 18:54/ 0 赞/ 44 阅读
相关 单精度浮点数和双精度浮点数_浮点数和双精度数之间的区别 ![0b4d070881144d90e79ec876b69711aa.png][] 单精度浮点数和双精度浮点数 Here you will learn about diff 朴灿烈づ我的快乐病毒、/ 2022年12月07日 13:29/ 0 赞/ 204 阅读
相关 double使用浮点数导致的精度显示问题 1、业务描述 最近有个业务需求,需要给门店做个大屏展示业务功能,推广业务使用。其中有个字段是返回一个2位小数的比例。例如使用率 use=2.2% 2、问题描述 有一天大屏 柔情只为你懂/ 2022年08月29日 10:42/ 0 赞/ 137 阅读
相关 浮点数精度问题处理 [参考][Link 1] 由于浮点数在计算机中的存储问题,所以不论是float类型的数据还是double类型的数据都是有其精度的,取浮点数精度下限,float为6位,doub 逃离我推掉我的手/ 2022年08月10日 10:56/ 0 赞/ 203 阅读
相关 浮点数输入精度问题 输入: ![Image 1][]![Image 1][]![20150814202153285][] ![20150814202156072][] ![201508 你的名字/ 2022年08月04日 00:59/ 0 赞/ 204 阅读
相关 opencl支持double双精度浮点数 先查看设备是否支持cl\_khr\_fp64, 若无cl\_khr\_fp64则设备不支持双精度浮点数。 如果有cl\_khr\_fp64的相关信息,在kernel文件中添加 ╰半夏微凉°/ 2022年07月14日 09:53/ 0 赞/ 329 阅读
相关 JS浮点数精度缺失问题 先看一个例子 alert(0.7+0.1);//输出0.7999999999999999 alert(0.6+0.2);//输出0.8 第二个正确,但第一个 曾经终败给现在/ 2022年04月11日 14:45/ 0 赞/ 250 阅读
相关 Java--float浮点数类型精度问题 浮点数为什么不精准? 参考链接:[https://blog.csdn.net/renwotao2009/article/details/51637163][https_b Bertha 。/ 2021年11月16日 16:02/ 0 赞/ 328 阅读
相关 JavaScript 浮点数运算的精度问题 问题描述 在 `JavaScript` 中整数和浮点数都属于 `Number` 数据类型,所有数字都是以 `64` 位浮点数形式储存,即便整数也是如此。 所以我们在打印 ╰半夏微凉°/ 2021年07月04日 21:43/ 0 赞/ 412 阅读
还没有评论,来说两句吧...