"""
数字解析工具模块

提供数字解析和标准化功能：
- 解析数字（处理千分位和货币符号）
- 标准化文本型数字
"""
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)

