我是python的新手,并试图为计算器编制销售税按钮

0 python

我不久前刚开始使用python进行编程,而且在税收和金钱问题上,我无法弄清楚舍入问题.我似乎无法得到小数,总是四舍五入到最接近的百分位.例如,在我们的州,销售需求为9.5%,因此购买5美元将使税收为0.48美元,但实际上为0.475美元.我已经尝试过math.ceil,但似乎只适用于最接近的整数.是否有一种简单的方法可以对任意数千位数进行舍入?(例如.471将转为.48)

谢谢

eum*_*iro 6

对于资金量最好是使用Python的十进制,在那里你没有与浮点表示问题和号码将保持四舍五入至小数点后两位(美分).

import decimal

def calculateVat(price):
    VAT = decimal.Decimal('0.095')
    return (price * VAT).quantize(price, rounding=decimal.ROUND_UP)

price =  decimal.Decimal('5.00')

# calculateVat(price) returns:
# Decimal('0.48')
Run Code Online (Sandbox Code Playgroud)