Python如何实现数字每四位添加一个逗号的格式化功能?
Python 内置的 :, 格式化规则默认是千位分隔,适配西方计数习惯,无法直接实现你需要的四位一组的万位分隔效果,可通过字符串倒序切片拼接实现,示例如下:
基础实现(仅整数)
n = 12345 # 先将字符串倒序,每4位切割后用逗号拼接,再整体倒序得到最终结果 formatted_num = ','.join([str(n)[::-1][i:i+4] for i in range(0, len(str(n)), 4)])[::-1] print(formatted_num) # 输出:'1,2345'
通用封装(支持带小数的数字)
def format_wan_separator(num): num_str = str(num) # 拆分整数和小数部分 if '.' in num_str: int_part, decimal_part = num_str.split('.', 1) # 处理整数部分的万位分隔 formatted_int = ','.join([int_part[::-1][i:i+4] for i in range(0, len(int_part), 4)])[::-1] return f"{formatted_int}.{decimal_part}" else: return ','.join([num_str[::-1][i:i+4] for i in range(0, len(num_str), 4)])[::-1] # 测试用例 print(format_wan_separator(12345)) # 1,2345 print(format_wan_separator(123456789)) # 1,2345,6789 print(format_wan_separator(12345.678)) # 1,2345.678
内容的提问来源于stack exchange,提问作者Jerry Chou
相关产品推荐
相关产品推荐

