Python 使用.format()将数字向上舍入
我正在编写一个简单的程序,并使用.format()将数字四舍五入到2d.pPython 使用.format()将数字向上舍入,python,input,format,Python,Input,Format,我正在编写一个简单的程序,并使用.format()将数字四舍五入到2d.p State = 0.05 County = 0.025 Purchase = float(input(‘amount of purchase: ‘)) State_tax = purchase * state County_tax = purchase * county Total_tax = state_tax + county_tax Total = purchase + total_tax Prin
State = 0.05
County = 0.025
Purchase = float(input(‘amount of purchase: ‘))
State_tax = purchase * state
County_tax = purchase * county
Total_tax = state_tax + county_tax
Total = purchase + total_tax
Print(‘amount: ‘ + ‘{:.2f}’.format(purchase))
Print(‘state tax: ‘ + ‘{:.2f}.format(state_tax))
Print(‘county tax: ‘ + ‘{:.2f}.format(county_tax))
Print(‘total tax: ‘ + ‘{:.2f}.format(total_tax))
Print(‘total sale: ‘ + ‘{:.2f}.format(total))
为了测试它,我输入了11。然而,总数与税款的总和并不正确。总税额为0.83,但总税额为11.82。它不是11.825到11.83的整数。如何解决此问题?Python通常舍入到最小值如果分数值小于或等于5,则在分数值大于5时舍入到最大值 你甚至可以试着把这个数字四舍五入
print("amount: {}".format(round(purchase, 2)))
将金额四舍五入到2位,因为您计算的是未格式化的税收总额 如图所示,试一下这张税单
total_tax = float('{:.2f}'.format(state_tax)) + float('{:.2f}'.format(county_tax))
Python使用银行家四舍五入(banker's rounding)来修正总数,即将5四舍五入为偶数,而不管它是大还是小。您将注意到
“{.2f}”。格式(11.835)
的结果是11.84。这是否回答了您的问题?