Python中的六种“国际数字格式”实施方式

对于超长数字串的书写,国际数字格式,更清晰更易于阅读。


(笔记模板由python脚本于2024年11月30日 23:36:53创建,本篇笔记适合喜欢探索新知的coder翻阅)


【学习的细节是欢悦的历程】


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


等风来,不如追风去……


超长数字串的书写
国际数字格式
(国际格式更清晰更易于阅读)


本文质量分:

96 96 96

本文地址: 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、不同编程语言中的“国际数字格式”


在不同编程语言中实现千位分隔符通常涉及以下几种方法:

  1. 使用内置的格式化函数或方法。
  2. 手动编写代码来插入分隔符。
  3. 利用第三方库或工具。

以下是一些流行编程语言中实现千位分隔符的示例:

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦幻精灵_cq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值