鱼C论坛

 找回密码
 立即注册
查看: 2761|回复: 9

Python浮点运算的问题

[复制链接]
发表于 2014-8-27 01:59:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请教高人,这俩个问题如何解决?

>>> round(0.15,1)
0.1
>>> 0.1+0.2
0.30000000000000004



官方文档只说了原因,没有解决方案。太坑爹了!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-8-27 03:20:07 From FishC Mobile | 显示全部楼层
浮点这个是计算机底层的问题具体我也不清楚,反正你要知道他不精确就行了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-27 09:09:58 | 显示全部楼层
用 decimal模块。
>>> import decimal
>>> getcontext().prec = 1
>>> print(Decimal(0.1)+Decimal(0.2))
0.3

参考原文:  http://www.2cto.com/kf/201009/74894.html
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-27 15:30:24 | 显示全部楼层
wei_Y 发表于 2014-8-27 09:09
用 decimal模块。
>>> import decimal
>>> getcontext().prec = 1

是的,限制精度无疑是比较好的解决方案。

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-27 19:32:11 | 显示全部楼层
小甲鱼 发表于 2014-8-27 15:30
是的,限制精度无疑是比较好的解决方案。

得到了一次小甲鱼老师的肯定。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-27 20:28:44 From FishC Mobile | 显示全部楼层
小甲鱼 发表于 2014-8-27 15:30
是的,限制精度无疑是比较好的解决方案。

不知道格式化%.1f这种能否达到一样的效果
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-27 20:37:47 | 显示全部楼层
shuoye 发表于 2014-8-27 20:28
不知道格式化%.1f这种能否达到一样的效果

也可以
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-29 00:05:32 | 显示全部楼层
学习了,今天又学到了点东西呵呵
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-30 17:10:31 | 显示全部楼层
靠,大牛都来了!谢谢大家的帮忙!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-5 21:00:19 | 显示全部楼层
get it~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-19 03:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表