在Python 3中,如何将浮点数四舍五入到小数点后一位?

时间:2018-11-27 22:17:23

标签: python python-3.x

我有12.5,并且想要将其转换为13。如何在Python 3中做到这一点?

任务是这样的-“给出餐费(餐的基本成本),小费百分比(餐费的百分比作为小费添加)和税费百分比(餐费的百分比作为税),找到并打印餐点的总费用”

我在Python 3和3个测试用例中解决了该问题,这表明我的代码正在运行。但只有一种情况不是。

在哪里

样本输入:

12.00

20

8

预期输出:

13

我的输出是12.5

地球上我怎么能将12.5当作13?

mealcost = float(input()) 
tippercent = float(input()) 
taxpercent = float(input())  

tippercent = mealcost * (tippercent / 100)  
taxpercent = mealcost * (taxpercent / 100) 

totalcost = float( mealcost + tippercent + taxpercent)  
print(totalcost)

2 个答案:

答案 0 :(得分:1)

使用round()

print(round(12.5))
>>> 13.0

答案 1 :(得分:-2)

舍入到最接近的X(即最接近的20.0)

  1. 只需除以您要舍入的值
  2. 然后round个结果
  3. 然后将其乘以要舍入并转换为整数的数字

例如

round_to_nearest = 20
for a_num in [9,15,22,32,35,66,98]:
    rounded = int(round(a_num/round_to_nearest)*round_to_nearest)
    print("{a_num} rounded = ".format(a_num=a_num,r=rounded))

要舍入

哦,没关系,好​​像你只是想要

print(round(12.3),round(12.6)) # 12, 13

如果round舍入不正确(即round(12.5) => 12 in python3),您只需在数字上加上0.5并将其取整

int(12.5+0.5)