Python 使用.format()将数字向上舍入

Python 使用.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

我正在编写一个简单的程序,并使用.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
 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。这是否回答了您的问题?