Python实现数字千分位格式化与去除详解

Owen
Owen
发布时间:2026-10-15| 5人浏览过
原创

本文介绍Python中处理数字千分位的方法。通过内置format函数或自定义逻辑,可将整数或浮点数转换为带逗号分隔符的字符串,反之亦可去除千分位符号还原数值。重点解析整数与小数部分的处理差异,提供去除及添加千分位的完整代码示例,适用于财务数据处理场景。

将数字转换为带有逗号分隔符的千分位格式

在处理长数字时,通常需要将其转换为千分位格式,即以三位数为一组,用逗号进行分隔,例如 123,452,354。

在Python中实现这一功能的方法如下

format(12324232345, ',')
Out[2]: '12,324,232,345'

**注意:**输入的数据类型必须为整型或浮点型,不能是字符串类型。

数字千位分隔符的添加与去除

千位分隔符即数字中的逗号。遵循西方计数习惯,为了避免大数字位数过多导致难以辨认,人们在数字中每隔三位添加一个逗号作为千位分隔符,从而更直观地识别数值大小。

在处理财务数据时,经常需要处理千分位符号。当数字位数较多时,人工逐位计数容易出错且效率低下。使用千分位符可以让人一眼看出金额的具体量级,目前手机银行和计算器中已广泛采用此格式。

下面编写两个函数:一个函数接收带千分位符的字符串(此时已非纯数字类型),输出对应的数值;另一个函数接收数值(若为小数则保留小数点后两位),输出带有千分位符的字符串。

1. 去除千分位

解析:千分位表现为数字中的逗号,直接移除逗号即可还原数值。

input_amount = input()
output_amount = float(input_amount.replace(',',''))
print('去掉千分位后的数字为', output_amount)

2. 添加千分位

解析:千分位仅针对整数部分,不涉及小数部分。

千分位符从右侧开始,每隔3位数添加一个英文逗号。具体做法是先将数字字符串左右反转(例如 23456 变为 65432),然后遍历字符串,每隔3个字符插入一个英文逗号,最后再次将字符串左右反转,输出最终结果。

若输入为整数,处理流程如上所述。

若输入为小数,首先将小数拆分为整数部分和小数部分,对整数部分进行千分位处理后,再与原始的小数部分拼接,作为最终结果输出。

添加千分位的具体步骤如下:

1. 拆分为整数部分和小数部分

# 将数字转为字符串
number = 12345
number_str = str(number)
    
# 拆分成整数部分和小数部分
number_str_list = number_str.split('.')
integer_part = number_str_list[0]
decimal_part = None if len(number_str_list) == 1 else number_str_list[1]

2. 为整数部分添加千分位

new_integer_part = ''
reversed_integer_part = integer_part[::-1] # 将字符串左右反转
for i, c in enumerate(reversed_integer_part): # 遍历字符,每隔3个字符加逗号
    if i > 0 and i%3 == 0:
        new_integer_part = new_integer_part + ',' + c 
    else:
        new_integer_part += c
new_integer_part = new_integer_part[::-1] # 将字符串左右反转

3. 将处理后的整数部分与小数部分整合

if decimal_part:
    print('添加千分位后数字变为', new_integer_part + '.' + decimal_part)
else:
    print('添加千分位后数字变为', new_integer_part)

wmsofts

以上为个人经验分享,希望能为大家提供参考,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。