Python以美元金额删除逗号

时间:2011-03-03 11:35:28

标签: python string

使用Python v2,我让用户在字符串中输入金额,如下所示:

RawPurchaseAmount = raw_input("Please enter purchase amount: ")

PurchaseAmount = float(RawPurchaseAmount.strip().lstrip("$"))

这会删除输入前面的任何空格,如果输入了$符号,则删除$符号。

如果输入了逗号符号,有没有办法删除它? IE:$ 10,000.00变为10000.00

感谢您的帮助。

4 个答案:

答案 0 :(得分:28)

您可以使用replace删除所有逗号:

"10,000.00".replace(",", "")

答案 1 :(得分:20)

>>> import re
>>> re.sub("[^\d\.]", "", "$1,000,000.01")
'1000000.01'

正则表达式模式表示“任何不是数字或小数点的东西”。匹配该正则表达式的任何内容都将替换为“”。

您可能需要记住一些欧洲国家/地区使用。作为千分隔符,作为小数点。

所以“100万欧元和5美分”可能是€1.000.000,05或€1,000,000.05

答案 2 :(得分:3)

>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'

一次删除$,任何其他字符,但数字或.除外。

答案 3 :(得分:1)

<强>更新 StephenPaulger的answer更好。

原始答案

如果您不介意正则表达式,您还可以一次性替换$,。像这样:

>>> import re
>>> RawPurchaseAmount
'$10,000'
>>> re.sub('[\$,]', '', RawPurchaseAmount)
'10000'
>>> 

如果您计划在同一程序中多次执行此操作,请记住编译正则表达式。