""" 数字解析工具模块 提供数字解析和标准化功能: - 解析数字(处理千分位和货币符号) - 标准化文本型数字 """ import re def parse_number(text: str) -> float: """ 解析数字,处理千分位和货币符号 Args: text: 包含数字的文本 Returns: 解析后的浮点数 """ if not text: return 0.0 clean_text = re.sub(r'[¥$€£,,\s]', '', text) is_negative = False if clean_text.startswith('-') or clean_text.startswith('−'): is_negative = True clean_text = clean_text[1:] if clean_text.startswith('(') and clean_text.endswith(')'): is_negative = True clean_text = clean_text[1:-1] try: number = float(clean_text) return -number if is_negative else number except ValueError: return 0.0 def normalize_text_number(text: str) -> str: """ 标准化文本型数字:移除空格和连字符 Args: text: 文本型数字(如账号、订单号) Returns: 标准化后的文本 """ if not text: return "" return re.sub(r'[\s\-\u3000]', '', text)