设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 10170|回复: 0
打印 上一主题 下一主题

请教round(2.585,2) 结果不正确

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

楼主
发表于 2016-10-20 14:01:06 |显示全部楼层
这是有python的浮点精度造成的。
2.585的实际值其实是
  1. >>> '%.32f' % 2.585
  2. '2.58499999999999996447286321199499'
复制代码
所以会被舍去。

如果确实对这个精度要求很高,用 decimal
  1. a = decimal.Decimal('2.585')
  2. b = a.quantize(decimal.Decimal('.01'), rounding=decimal.ROUND_HALF_UP)
  3. print b
复制代码
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-20 00:22 , Processed in 0.016383 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部