从字符串中移除冗余符号
假设我有一个这样的字符串:'12,423,343.93'
。我想把它转换成float
类型,怎么做才能简单有效又优雅呢?
看起来我需要先把字符串中的多余逗号去掉,然后再调用float()
,但我还没有找到好的方法。
谢谢
2 个回答
6
请注意,不同国家使用的分隔符符号是不同的。在某些文化中,“.”用来分隔数字的组,而“,”则表示小数点。如果你在处理用户输入的字符串时遇到这种情况,使用本地化模块可能会更好。比如:
>>> import locale
>>> locale.atof('12,423,343.93') # No locale set yet, so this will refuse to parse
ValueError: invalid literal for float(): 12,423,343.93
>>> locale.setlocale(locale.LC_NUMERIC, "en_GB") # Use a UK locale.
>>> locale.atof('12,423,343.93')
12423343.93
9
s = "12,423,343.93"
f = float(s.replace(",", ""))
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。