函数PYTHON后不能.rstrip('。0')

时间:2016-12-31 05:34:19

标签: python string string-formatting

def competitiveEating(t, width, precision):
    return str(round(t, precision)).center(width).rstrip('.0')

所以我想从我输入的全部数字中删除尾随.0s舍入到精确数字,当我执行r.strip之后.center没有任何反应,我不知道所以我不是确定你是否可以将.function放在另一个.function之后(中心后的rstrip)。我正在阅读'{0:g}'。格式(float(21))这里的a link(解决的问题在这种情况下不起作用)。老实说,我甚至不知道如何添加或使用{0:g}'。format(float(21))part ..

2 个答案:

答案 0 :(得分:0)

这是一种方法:

def competitiveEating(t, width, precision):
    text = str(round(t, precision))
    if text.endswith('.0'):
        text = text[:-2]
    return text.center(width)

答案 1 :(得分:0)

def competitiveEating(t, width, precision):
return ("{:."+str(precision)+"f}").format(t).center(width)

您的四舍五入方式不适用于 precision = 0 之类的东西,如果是 1000.00 之类的东西,您最终会得到 1

如果你不关心这个,你可以这样做:

def competitiveEating(t, width, precision):
    return str(round(t, precision)).rstrip('.0').center(width)