既然float、double类型在计算时可能出现精度问题,那是不是在涉及相关计算时使用bigDecimal为好?那这样的话float、double的使用场景在哪?
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已结题
Java关于小数类型精度问题
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
3条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
关注
float和double尤其不适合进行货币计算,原因在于我们的计算机是二进制的。浮点数没有办法是用二进制进行精确表示。
平常精度要求不高:float double 比如定义个变量 编程练习等
精度要求高:bigDecima 比如:货币计算等以上仅供参考,如有任何疑问,可以评论回复,看到即回。
希望对题主有所帮助!可以的话,帮忙点个采纳!本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2019-08-24 03:24回答 2 已采纳 百度 “java 固定精度输出小数” 第一页第一篇博客的四种方法 ``` import java.math.BigDecimal; import java.text.Decim
- 2022-03-29 07:12回答 2 已采纳 用小数???你显示器就是以像素为单位的,你用一个小于1像素的点有何意义???
- 2019-12-16 06:38回答 3 已采纳 很简单,先变成整数,再变成小数就行了,也不会出现精度丢失,所有的随机都可以这样玩 ``` int num = (int) (Math.random() * 10001);//生成0
- 2020-08-29 09:14Java 中的高精度整数和高精度小数 Java 中的高精度整数和高精度小数是指在 Java 编程语言中对大整数和小数的处理。高精度整数和高精度小数在实际应用中非常重要,例如在计算金钱的时候需要保留高精度小数,以避免...
- 2022-03-03 03:09回答 4 已采纳 因为你后面做的是整数除法,返回的是整数不是因为精度损失,而是你在两次计算的时候所用的除法不同,导致结果的不同将后面代码中的除法也改为(a+b+c)/3.0;即可有帮助望采纳~
- 2017-08-08 17:50回答 5 已采纳 计算方式同float,double的尾数:52位,2−52=2.220446049250313E-16,最小是16位,但最小不是1.0E-16,所以精度是15~16,能保证15,一般16位。 参考:h
- 2018-08-12 01:49回答 3 已采纳 我写了一个,但是感觉没那么满意 ``` public class Red { private int remain;//金额,单位厘 private int count;//个数
- 2020-08-31 04:00这是因为Java中的float和double类型是基于IEEE 754标准的,它们无法精确表示所有的小数。为了确保计算结果的精确性,我们需要使用`BigDecimal`类。`BigDecimal`是一个任意精度的十进制数,它可以用来进行精确的数学...
- 2021-03-13 03:34回答 3 已采纳 哈哈,我看了一下,这样写应该更容易理解。思路都一样,就是先选择商品,再选择数量,一直循环。输入0就结束。这样写是不是容易理解很多? public class Test { public s
- 2021-09-23 10:58回答 1 已采纳 参考 java 实现atof函数_SmellyKitty-CSDN博客 atof函数将字符串转换为浮点数,此函数规则如下: 它会扫描参数st
- 2021-11-11 09:54回答 2 已采纳 /** * @author 嫣然 */ public class Compute { public int add(int a, int b) { return a + b
- 2020-08-18 22:48Java POI 读取 Excel 中数值精度损失...Java POI 读取 Excel 中数值精度损失问题解决可以通过将 Excel 单元格改为文本类型或使用 Java 处理来解决。这些方法可以确保读取到的数据是正确的,避免了数值精度损失的问题。
- 2021-03-09 09:47丁当响的博客 float、double类型的问题我们都知道,计算机是使用二进制存储数据的。而平常生活中,大多数情况下我们都是使用的十进制,因此计算机显示给我们看的内容大多数也是十进制的,这就使得很多时候数据需要在二进制与十...
- 2023-12-18 12:21小数精度问题主要体现在两个方面:一是编程语言本身的表示精度限制,二是数据库存储的精度限制。例如,0.1+0.2在Java和MySQL中可能会得到一个近似值0.30000000000000004,而不是预期的0.3,这是因为浮点数无法精确...
- 2022-01-19 08:35渣娃程序员的博客 package Java; import java.math.BigDecimal; public class BigDecimalUtil { //无参构造 private BigDecimalUtil() { } //将String字符串转换成double public static double strToDouble(String str) { ...
- 没有解决我的问题, 去提问
问题事件
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司