float'对象不可下标访问
我正在尝试制作一个收银机,但在计算税的时候,我希望结果保留两位小数,而不是像$3.006743这样的数字。
我试着这样做:
elif item == 'done':
os.system('cls')
tprice = sprice * 1.13
hst = tprice - sprice
if tprice >= 1:
tprice = tprice[0:5]
elif tprice >= 10:
tprice = tprice[0:6]
elif tprice >= 100:
tprice = tprice[0:7]
if hst >= 1:
hst = hst[0:5]
elif hst >= 10:
hst = hst[0:6]
elif hst >= 100:
hst = hst[0:7]
print(receipt)
但是我遇到了错误。有人能帮帮我吗?
2 个回答
1
如果你是用这个来处理货币的话,我建议你看看这个链接:python 限制浮点数到两位小数。因为浮点数的四舍五入会导致你的计算结果不准确。很多人会把分(也就是美分)存成整数,然后除以100,或者使用Python的Decimal类型。
2
你可以使用 字符串格式化:
>>> '{:.2f}'.format(3.123456)
'3.12'
>>> '$ {:.2f}'.format(12.999)
'$ 13.00'
>>> '{:.2f}'.format(.029)
'0.03'