Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';函数PYTHON之后的t.rstrip(';.0';)_Python_String_String Formatting - Fatal编程技术网

Can';函数PYTHON之后的t.rstrip(';.0';)

Can';函数PYTHON之后的t.rstrip(';.0';),python,string,string-formatting,Python,String,String Formatting,所以我想从输入的整数t中去掉尾随的.0s,当我在.center之后做r.strip时,它被四舍五入到精确的数字。什么都没有发生,我知道的不多,所以我不确定你是否可以把一个.function放在另一个.function之后(rstrip放在中心之后)。我读到了关于{0:g}的内容。格式(float(21))如下(解决的问题在这种情况下不起作用)。老实说,我甚至不知道如何添加或使用{0:g}.format(float(21))部分 这里有一种方法: def竞争定位(t、宽度、精度): text=st

所以我想从输入的整数t中去掉尾随的.0s,当我在.center之后做r.strip时,它被四舍五入到精确的数字。什么都没有发生,我知道的不多,所以我不确定你是否可以把一个.function放在另一个.function之后(rstrip放在中心之后)。我读到了关于{0:g}的内容。格式(float(21))如下(解决的问题在这种情况下不起作用)。老实说,我甚至不知道如何添加或使用{0:g}.format(float(21))部分

这里有一种方法:

def竞争定位(t、宽度、精度):
text=str(圆(t,精度))
如果text.endswith('.0'):
text=文本[:-2]
返回文本。居中(宽度)
这种四舍五入的方式不适用于
precision=0
,如果它类似于
1000.00
,那么您将得到
1

如果你不在乎这个,你可以这样做:

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

可能是python。首先用编程语言pleaserstrip标记,然后是call center,否则会在左右两侧填充一个简短的数字,rstrip('.0')将找不到任何要删除的''.'或'0',只找到尾随空格。谢谢,但是r.strip('.0')会删除'.'和'0'的所有实例。你说得对。我相信我现在有了一个正确的版本。我认为OP希望在小数点后去掉所有的0,所以“1.000”应该变成“1”,这将失败,因为它不以“.0”结尾。@PaulMcGuire输入
t
是一个数字,而不是字符串,如通过
四舍五入所示,它不接受字符串
str(1.000)
“1.0”
,因此它没有您提到的问题。
def competitiveEating(t, width, precision):
return ("{:."+str(precision)+"f}").format(t).center(width)
def competitiveEating(t, width, precision):
    return str(round(t, precision)).rstrip('.0').center(width)