[英]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.