在python中使用字符串格式时舍入数字

时间:2015-03-07 04:07:51

标签: python string formatting rounding

我想知道如何在使用字符串格式时对python中的数字进行舍入。在我的代码中,我使用%r而不是%d,因为%d打印了一个整数。如何在使用%r时对数字进行舍入?我希望将我的数字四舍五入到小数点后两位。

def new_formula(value):
    payment = value * 9.00
    tips = payment/.29
    earned = payment + tips
    return payment, tips, earned

name = "Nate"
hours = 7.5

print "%s worked %r hours." % (name, hours)
print """He was paid %r dollars and made %r dollars in tips.
At the end of the day he earned %r dollars.""" % new_formula(hours)

2 个答案:

答案 0 :(得分:0)

使用圆形功能:

print "%s worked %.2f hours." % (name, round(hours, 2))

参数2告诉函数在小数点后使用2位数。

答案 1 :(得分:0)

嗯,你总是可以绕过return语句。所以,例如round(payment, 2)。并且,我不确定你为什么使用\ r。 (你能告诉我为什么吗?)您可以将%.2f改为使用两位小数。