python使用round函数的bug

在对小数1.275进行四舍五入时,出现了bug,


a=1.275

print(round(a,2))
结果为:1.27

这肯定是不对的呀,百度一下 有一个这个可以用:

from _pydecimal import Decimal,Context,ROUND_HALF_UP
def my_round(str_num):
    return (Context(prec=3,rounding=ROUND_HALF_UP).create_decimal('{}'.format(str_num)))

UPDATE:
上述方法还是不行,使用这个:

from decimal import Decimal
new_index=Decimal('{}'.format(old_index)).quantize(Decimal('0.00'))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前段时间,博上流行这样一句话:“好姐妹的感情就像塑料花,特别假,但却永不凋谢”。一时间,很多女性都反映自己曾经遇到...
    余生半世未了情阅读 273评论 0 0
  • 昨天刷手机才知道今天是感恩节,朋友圈里零零星星的几个帖子,每个人都在过自己的生活。 昏昏沉沉中抬起头。 感恩吗? ...
    周简生阅读 283评论 0 0
  • 当一个人觉察了时间, 会把时间清晰的分为: 过去、现在、未来。。。 不为过去的事情后悔和痛苦, 珍惜现在的美好时光...
    股东内参阅读 457评论 0 1

友情链接更多精彩内容