在Python中将float转换为没有点/逗号的字符串

时间:2019-04-10 07:34:56

标签: python string floating-point

我想知道是否有一种简单的方法可以将浮点数(例如0.25)转换为没有点/浮点数的字符串,即025。 可能吗?我正在寻找适用于所有花车的东西。谢谢。

3 个答案:

答案 0 :(得分:4)

如果同时有逗号和小数点,则可以用re.sub进行正则表达式替换。 re.sub()用替换 repl 替换字符串中所有出现的 pattern 。如果找不到该模式,则字符串将保持不变。

import re

number = '999,123,456.345'
filtered = re.sub('[.,]', '', number)

print(filtered)

输出

  

999123456345

答案 1 :(得分:2)

使用str.replace()

def float2str(s):
    return str(s).replace('.', '')

print(float2str(0.25))

输出

025

使用减少:

from functools import reduce

x = "3,766.989"
replacements = (',', '', '.', '')
print(reduce(lambda s, sep: s.replace(sep, ''), replacements, x))

输出

3766989

答案 2 :(得分:1)

最简单的方法是替换字符串

str(0.25).replace('.','')