You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中提取带货币符号的数值并进行算术运算?

提取带货币符号的数值并进行算术运算的解决方案

为什么isdigit()无法得到正确结果

isdigit()仅对0-9的纯数字字符返回True,小数点.和货币符号$都会被排除,所以你用它处理$61.52时,只会保留6152,丢失了关键的小数点,自然无法得到61.52。

解决方案1:直接替换货币符号后转浮点数

最简单的方式是去掉字符串中的$,再转换为浮点数,这样就能保留小数点:

# 提取单个数值
s = '$61.52'
num = float(s.replace('$', ''))
print(num)  # 输出61.52

# 两个数值相加
s1 = '$61.52'
s2 = '$57.74'
total = float(s1.replace('$', '')) + float(s2.replace('$', ''))
print(total)  # 输出119.26

解决方案2:用正则表达式提取数字部分

如果遇到更复杂的格式(比如字符串中混杂其他字符),可以用正则表达式精准匹配包含小数点的数字:

import re

def get_numeric_value(s):
    # 匹配包含小数点的正数,如需支持负数可改为r'-?\d+\.?\d*'
    match = re.search(r'\d+\.\d+', s)
    return float(match.group()) if match else 0.0

# 提取并相加
num1 = get_numeric_value('$61.52')
num2 = get_numeric_value('$57.74')
print(num1 + num2)  # 输出119.26

内容的提问来源于stack exchange,提问作者Mayo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 15:46:00