小数问题是计算机编程中大部分语言都会遇到的问题,尤其是在内容中涉及到评分、金额计算等等,本人一般在解决需求中固定小数位的数字计算时,都会先将其放大整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)