在python 2中四舍五入没有小数点的浮点值

时间:2019-04-29 18:05:27

标签: python-2.7 floating-point

问题是使用Python 2对百分比值求和后,将结果值四舍五入而没有任何小数位。

输入1(餐费):10.25

输入2(提示百分比):17

输入3(税率):5

我必须计算小费金额和税额,并将结果与​​用餐费用相加。

我尝试了以下代码:

def求解(餐费,小费百分比,税额百分比):

 tip_amt = (meal_cost * tip_percent)/100
 tax_amt =(meal_cost * tax_percent)/100
 total_bill = (meal_cost + tip_amt + tax_amt)
 print int (total_bill)

如果名称 =='主要':

meal_cost = float(raw_input())

tip_percent = int(raw_input())

tax_percent = int(raw_input())

solve(meal_cost, tip_percent, tax_percent)

正确的答案是13。但是上面的代码给出了12。

请指导我获得解决方案的预期结果。 在此先感谢

2 个答案:

答案 0 :(得分:0)

您应该使用四舍五入法。

tip_amt = meal_cost * tip_percent/100
tax_amt =meal_cost * tax_percent/100
total_bill = meal_cost + tip_amt + tax_amt
print round(total_bill)

答案 1 :(得分:0)

将四舍五入后的总和值转换为整数可以得到没有小数的期望值。

def solve(meal_cost, tip_percent, tax_percent):
     tip_amt = (meal_cost * tip_percent)/100
     tax_amt =(meal_cost * tax_percent)/100
     total_bill = (meal_cost + tip_amt + tax_amt)
     round_total = round(total_bill)
     return int(round_total)