Python 使用int函数获取小数点后两位的答案

Python 使用int函数获取小数点后两位的答案,python,Python,我是python的新手,刚上一两周课。以下是我写的: #prompt user for input purchaseAmount = eval(input("please enter Purchase Amount: ")) # compute sales tax salesTax = purchaseAmount * 0.06 # display sales tax to two decimal points print("sales tax is", int(salesTax * 100 /

我是python的新手,刚上一两周课。以下是我写的:

#prompt user for input
purchaseAmount = eval(input("please enter Purchase Amount: "))
# compute sales tax
salesTax = purchaseAmount * 0.06
# display sales tax to two decimal points
print("sales tax is", int(salesTax * 100 / 100.0))
这就是它的回报:

请输入购买金额:197.55 销售税是11英镑

我的文本建议我应该得到答案11.85

我应该更改什么以获得答案中的2位小数?

使用浮点:

打印(“销售税为”,圆形(浮动(销售税*100/100.0),2))


这将把
2
小数位的值打印为11.85

您将获取整件事情的
int
,它将始终是一个整数。您需要首先获取
int
,然后将
int
的结果除以100。因此,与此相反:

int(salesTax * 100 / 100.0)
这样做:

int(salesTax * 100) / 100.0
你应该使用

或者使用更新的格式方法

>>> salesTax = 22.256
>>> print("sales tax is {:.2f}".format(salesTax))
sales tax is 22.26

这是一个小的修正。您可以使用float来获得带有小数点的精确答案。使用int将失去精度

purchaseAmount = eval(input("please enter Purchase Amount: "))
salesTax = purchaseAmount * 0.06
# get salesTax in floating point number
salesTax = float(salesTax * 100 / 100.0)
print salesTax
-> 11.853
purchaseAmount = eval(input("please enter Purchase Amount: "))
salesTax = purchaseAmount * 0.06
# get salesTax in floating point number
salesTax = float(salesTax * 100 / 100.0)
print salesTax
-> 11.853