假设我有数字字符串。如果需要,我想删除所有尾随零和小数点。例如 -
'0.5' -> '.5'
'0005.00' -> '5'
我使用了这种方法:
s.strip("0") # where 's' contains the numeric string.
但对于0005.00
,它会返回5.
,那么如果必要,我将如何删除小数点?
答案 0 :(得分:2)
要实现这一点,你可以写一个小功能
def dostuff(s):
s = s.strip('0')
if len(s) > 0 and s[-1] == '.':
s = s[:-1]
return s
这会剥离所有0
s并且如果找到.
并且它位于字符串的末尾(意味着它的小数点并且没有跟随它)它也会使用[s:-1]
去掉它(这会删除最后一个字符)。
s[-1]
获取字符串的最后一个字符。有了这个,我们可以检查.
是否是最后一个字符。
这可以通过使用正则表达式的较少代码来实现,但我认为这更容易遵循
演示
>>> print dostuff('5.0')
5
>>> print dostuff('005.00')
5
>>> print dostuff('.500')
.5
>>> print dostuff('.580')
.58
>>> print dostuff('5.80')
5.8
答案 1 :(得分:0)
尝试使用它与我一起从数字中删除所有零,我会为您提供帮助。
word = str(num).split('0') #to convert number list without zeros
word = ''.join(word)