社区
Java SE
帖子详情
精度问题
yhd0411
2007-08-15 04:53:53
String sTerms="118";
String sRate="5.1";
String sBillSum="345500"
sEndorseTimes="3";
sActualint =""
sActualint = Terms*sRate*sBillSum/30000+sEndorseTimes*sRate*sBillSum/30000;
为什么sActualint最后结果是7086.36499999
我想得到的是7086.37
...全文
157
4
打赏
收藏
精度问题
String sTerms="118"; String sRate="5.1"; String sBillSum="345500" sEndorseTimes="3"; sActualint ="" sActualint = Terms*sRate*sBillSum/30000+sEndorseTimes*sRate*sBillSum/30000; 为什么sActualint最后结果是7086.36499999 我想得到的是7086.37
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chq235
2007-08-15
打赏
举报
回复
这是长精度,不是短精度。
zdjray
2007-08-15
打赏
举报
回复
在某些对数值精度要求非常的应用中直接使用java的float中的*,/运算可能会丢失精度,造成小量的误差,但是如果将这些误差相加可能会放大。
如System.out.println(534.2 / 100);
执行的结果却是5.3420000000000005
System.out.println(4.015 * 100);执行的结果是401.49999999999994
都有误差。
解决方案使用BigDecimal,如:
System.out.println((new BigDecimal("123.3")).divide(new BigDecimal("100")));
System.out.println((new BigDecimal("4.015")).multiply(new BigDecimal("100")));
但是如果依然使用:
System.out.println((new BigDecimal(123.3)).divide(new BigDecimal(100)));
System.out.println((new BigDecimal(4.015)).multiply(new BigDecimal(100)));
原因是因为在内存中存储浮点数的方式和整型不一样,将浮点数传入函数时就已经有差距了,所以需要传入字符串。
如果是数据库中存储的浮点型数据,则需要使用ResultSet.getBigDecimal得到BigDecimal再进行运算
yhd0411
2007-08-15
打赏
举报
回复
是javascript,不应该在这里问
tuifeirensheng
2007-08-15
打赏
举报
回复
昏倒,字符串变量做运算???
云计算大数据智能交通行业应用论坛—北斗高
精度
导航与智能交通—朱峰
上海北斗卫星导航平台有限公司副总经理/总工程师朱峰发表了题为《北斗高
精度
导航与智能交通》的主题演讲。朱峰首先介绍了北斗及其相关方面的发展情况,重点分享了北斗高
精度
导航及其服务云,他认为,以北斗高
精度
定位切入市场(包括切入到智能交通领域),用高
精度
带动应用创新,将推动北斗产业的发展。
常用经典算法及讲解
常用经典算法及讲解 包括:贪婪算法,分而治之算法,动态规划,回溯,分枝定界 以及八女王
问题
,卡车更新
问题
1. 最小数字子串 2. 邮票面值 3. 字符移动 4. 子集定和
问题
5. 素数方阵 6. 全排列
问题
7. 移盘子
问题
8. N 女王
问题
9. 组合
问题
10. 电子锁 11. 高
精度
数加减法 12. 高
精度
数乘法 13. 高
精度
数除法(一) 14. 高
精度
数除法(二) 15. 高
精度
数阶乘 16. P×S=11...1 17. P×S=987654321... 18. 受控时钟 19. 高
精度
八进制除法 20. 八数码
问题
21. 取火柴游戏 22. 取奇数游戏 23. 最长公共子串 等
问题
的源码(C语言)
GPS硬件检测工具
GPS硬件检测工具,我想大家都懂的不用我来解释了吧
深入剖析 Java 浮点数
精度
问题
及解决之道
Java 浮点数的
精度
问题
源于其底层的二进制表示方式和有限的存储位数。在实际编程中,我们必须谨慎处理浮点数运算,根据具体场景选择合适的方法来避免
精度
问题
。对于一般的浮点数比较,可以使用误差范围进行判断;而对于需要高
精度
计算的场景,BigDecimal类是首选方案。此外,整型运算代替浮点数运算以及借助
精度
处理库,也能为解决浮点数
精度
问题
提供有效的途径。通过深入理解和合理运用这些方法,开发者能够编写出更加健壮和准确的 Java 程序。
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章