对于超长数字串的书写,国际数字格式,更清晰更易于阅读。
(笔记模板由python脚本于2024年11月30日 23:36:53创建,本篇笔记适合喜欢探索新知的coder翻阅)
-
Python 官网:https://www.python.org/
-
Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
地址:https://lqpybook.readthedocs.io/
自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
—— 华罗庚
- My CSDN主页、My HOT博、My Python 学习个人备忘录
- 好文力荐、 老齐教室

本文质量分:
本文地址: https://blog.csdn.net/m0_57158496/article/details/144163320
CSDN质量分查询入口:http://www.csdn.net/qc
- ◆ 国际数字格式
-
- 1、题引
- 2、“不完美”的locale库
- 3、名词释义:“国际数字格式化”
- 4、不同编程语言中的“国际数字格式”
-
- Python
- JavaScript
- Java
- C#
- Ruby
- PHP
- 5、python中“数字国际”的六种方式
-
- locale
- range步长拆分
- 算术取模拆分
- 序列切片拆分
- f-string
- str.format
- 6、结语
- 7、花絮
- 8、完整源码(Python)
◆ 国际数字格式
1、题引
我用Python脚本在检索我的csdn学习笔记的阅读量等情况,仅能解析x.xx[k|w]
样式的数据,我排序就分不开数值一样的k/w层级,一直想打到真正的阅读量“数值”int
。
我实现了夙愿,但就有了格式化成000,000,000
“国际数字格式”样式的需求。以我目前水准,还没有现存工具,想自已 n e w new new,粗略一想,好像不太容易,遂借问ai学伴,它给推荐了locale
,但这是一个“美国英文”标准,有可能因本地操作系统配置而“不能预期”的动荡因素。我不甘于其不稳,通过十几分钟推敲用数学的方式可以 n e w new new成功,后又用 s t r str str的形式完成对数学形式的模拟。跟我ai学伴炫耀我 n e w new new的两个“实施”,它却砸出了python神功二!😉最后才发现,python原来早有定制:'{:,}'.format(num)
、f"\n{num:,}"
。这才是python中“国际数字格式”实施的倚天屠龙!😎😎😎
接下来,我将分享这个甜蜜的过程。
2、“不完美”的locale库
Python 中有一个内置的库 locale
可以帮助实现“国际数字格式”书写。可以使用 locale.format_string
方法来格式化数字,使其包含千位分隔符。
以下是一个例子:
import locale
# 设置 locale 为美国英语,这样千位分隔符就是逗号
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
# 将整数格式化为字符串,包含千位分隔符
formatted_number = locale.format_string("%d", 1234538, grouping=True)
print(f"\n{
formatted_number}") # 输出: 1,234,538
请注意, locale.setlocale
需要一个合适的地区设置,这里使用的是 en_US.UTF-8
,这可能在不同的操作系统或环境中有所不同。你需要根据你的系统环境选择正确的地区设置。
上述代码,在我的安卓手机+python 3.12.7的环境,没有实现“国际数字格式”打印。
3、名词释义:“国际数字格式化”
国际数字格式化
:
这种使用逗号作为千位分隔符的数字书写形式通常被称为“逗号分隔值”(Comma-Separated Values,简称 CSV),尽管这个术语通常用于描述以逗号分隔的数据记录。对于单个数字来说,这种格式化方式没有特定的专有名词,但它通常被简称为“数字格式化”或“千位分隔格式”。
在国际上,这种格式化方式有时也被称为“国际数字格式”或“国际千位分隔符”。不同国家和地区可能有不同的分隔符习惯,例如,在一些欧洲国家,他们使用空格而不是逗号作为千位分隔符。
总的来说,这种格式化方式是为了提高数字的可读性,尤其是在处理大数字时。😊📊
4、不同编程语言中的“国际数字格式”
在不同编程语言中实现千位分隔符通常涉及以下几种方法:
- 使用内置的格式化函数或方法。
- 手动编写代码来插入分隔符。
- 利用第三方库或工具。
以下是一些流行编程语言中实现千位分隔符的示例:
Python
使用内置的 format
函数或字符串的 format
方法:
number = 1234567
formatted_number = "{:,}".format(number)
print(formatted_number) # 输出: 1,234,567
或者使用 f-string(Python 3.6+):
number = 1234567
formatted_number = f"{
number:,}"
print(formatted_number) # 输出: 1,234,567
JavaScript
使用 toLocaleString
方法:
let number = 1234567;
let formattedNumber = number