java float double精度为什么会丢失

 我来答
栽莆宜球红7473
2017-10-31 · 超过31用户采纳过TA的回答
知道答主
回答量:121
采纳率:82%
帮助的人:33.3万
展开全部
这个是二进制存储小数的问题,很多编程语言都存在这个问题。
二进制只能精确表示2的-n次方的整数倍小数
要精确地进行计算,请使用BigDecimal,并在计算时约束好小数位(比如精确到2位小数)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
呵呵打39
2017-10-31 · TA获得超过207个赞
知道小有建树答主
回答量:143
采纳率:80%
帮助的人:98.2万
展开全部
因为它们的有效范围是不一样的:
float的精度范围为:6~7位

double的精度范围为:15~16位
当超过7位后,float精度自然会丢失,同理double也是(int也是)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
北京巴卜技术有限公司
2017-10-31 · 【免费测试,验证码5秒必达】
北京巴卜技术有限公司
北京巴卜技术有限公司(以下简称巴卜)是具备国际水准的移动商务平台技术和应用方案提供商。自成立以来,巴卜始终 致力于为国内外企业提供具备国际技术水准的移动商务平台及运营服务。
向TA提问
展开全部
因为float和double都是浮点型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式