字符串操作 | AI刷题:3数字字符串格式化

73 阅读1分钟

题目链接:[数字字符串格式化 - MarsCode]

题目详情:

image.png


知识点:字符串操作

  • str.lstrip(characters): 用于移除字符串左侧指定的字符(在这个例子中是 ‘0’)。
  • str.split(separator): 用于根据指定的分隔符(在这个例子中是 ‘.’)将字符串分割成多个部分。

代码:

def solution(s: str) -> str:
    # 移除字符串前导的0
    s = s.lstrip('0')
    
    # 检查是否有小数点
    if '.' in s:
        # 分割整数部分和小数部分
        integer_part, decimal_part = s.split('.')
    else:
        # 如果没有小数点,整个字符串都是整数部分
        integer_part, decimal_part = s, ''
    
    # 将整数部分转换为带千分位逗号的格式
    integer_part_with_commas = '{:,}'.format(int(integer_part))
    
    # 将整数部分和小数部分重新组合
    formatted_number = integer_part_with_commas + ('.' + decimal_part if decimal_part else '')
    
    return formatted_number

if __name__ == '__main__':
    print(solution("1294512.12412") == '1,294,512.12412')
    print(solution("0000123456789.99") == '123,456,789.99')
    print(solution("987654321") == '987,654,321')