闻峥

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

小数问题是计算机编程中大部分语言都会遇到的问题,尤其是在内容中涉及到评分、金额计算等等,本人一般在解决需求中固定小数位的数字计算时,都会先将其放大整10的倍数至整数,然后计算、存储,只有在显示的时候再将其缩小至所需的精度:如人民币的计算和存储都是以分为单位。

 

在学习python的时候同样也会有这样的问题,下面代码只是简单的将输入的小数四舍五入精确到小数点后第二位

from _pydecimal import Decimal

exchange = 6.4696

while True:
    dollar = float(input('请输入美元金额:'))
    if dollar == 0:
        break
    yuan = dollar * exchange
    yuan2 = Decimal(yuan).quantize(Decimal('0.00'))
    print('{dol}美元可兑换人民币%.2f元'.format(dol=dollar) % yuan2)

  

posted on 2019-01-16 17:03  闻峥  阅读(2429)  评论(0)    收藏  举报