题目链接:[数字字符串格式化 - MarsCode]
题目详情:
知识点:字符串操作
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')