我试图制作一个收银机,但是当我缴税时,我希望它有两位小数,而不是$ 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)
但是我得到了错误。有什么帮助吗?
答案 0 :(得分:2)
您可以使用string formatting:
>>> '{:.2f}'.format(3.123456)
'3.12'
>>> '$ {:.2f}'.format(12.999)
'$ 13.00'
>>> '{:.2f}'.format(.029)
'0.03'
答案 1 :(得分:1)
如果您将此用于货币,我还建议您查看python limiting floats to two decimal points,因为舍入浮点数会导致计算错误。很多人存储美分(整数)并除以100,或者使用python的Decimal类型。