Python 使用int函数获取小数点后两位的答案
我是python的新手,刚上一两周课。以下是我写的: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 /
#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