繁体   English   中英

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

[英]Can't .rstrip('.0') after a function PYTHON

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

所以我想从通过我的输入给出的整数中删除尾随 .0s t 那是四舍五入到精度数,当我在 .center 之后做 r.strip 时没有任何反应,我知道的不多,所以我不确定你是否甚至可以将 .function 放在另一个 .function 之后(居中后的 rstrip)。 我正在阅读有关 '{0:g}'.format(float(21)) 的链接(解决的问题在这种情况下不起作用)。 老实说,我什至不知道如何添加或使用 {0:g}'.format(float(21)) 部分..

这是一种方法:

def competitiveEating(t, width, precision):
    text = str(round(t, precision))
    if text.endswith('.0'):
        text = text[:-2]
    return text.center(width)
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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM