使用Python v2,我让用户在字符串中输入金额,如下所示:
RawPurchaseAmount = raw_input("Please enter purchase amount: ")
PurchaseAmount = float(RawPurchaseAmount.strip().lstrip("$"))
这会删除输入前面的任何空格,如果输入了$符号,则删除$符号。
如果输入了逗号符号,有没有办法删除它? IE:$ 10,000.00变为10000.00
感谢您的帮助。
答案 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'
>>>
如果您计划在同一程序中多次执行此操作,请记住编译正则表达式。