当前位置: 首页 > article >正文

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

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


(笔记模板由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 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


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


本文质量分:

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中“数字国际”的六种方式
    • 6、结语
    • 2、算法解析
    • 3、完整源码(Python)


◆ 国际数字格式


1、题引


  我用Python脚本在检索我的csdn学习笔记的阅读量等情况,仅能解析x.xx[kw]样式的数据,我排序就分不开数值一样的k/w层级,一直想打到真正的阅读量“数值”int

  我实现了夙愿,但就有了格式化成000,000,000样式的需求。以我目前水准,还没有现存工具,想自已new,粗略一想,好像不太容易,遂借问ai学伴,它给推荐了locale,但这是一个“美国英文”标准,有可能因本地操作系统配置而“不能预期”的动荡因素。我不甘于其不稳,通过十几分钟推敲用数学的方式可以 n e w new new成功,后又用 s t r str str的形式完成对数学形式的模拟。跟我ai学伴炫耀我new的两个“实施”,它却砸出了python神功二!😉最后才发现,python原来早有定制:'{:,}'.format(num)f"\n{num:,}"。这才是python中“国际数字格式”实施的倚天屠龙!😎😎😎

  接下来,我将分享这个甜蜜的过程。



回页目录


2、“不完美”的她locale库


  • 示例



回页目录


3、名词释义:“国际数字格式化”


  • 国际数字格式化

      这种使用逗号作为千位分隔符的数字书写形式通常被称为“逗号分隔值”(Comma-Separated Values,简称 CSV),尽管这个术语通常用于描述以逗号分隔的数据记录。对于单个数字来说,这种格式化方式没有特定的专有名词,但它通常被简称为“数字格式化”或“千位分隔格式”。

      在国际上,这种格式化方式有时也被称为“国际数字格式”或“国际千位分隔符”。不同国家和地区可能有不同的分隔符习惯,例如,在一些欧洲国家,他们使用空格而不是逗号作为千位分隔符。

     &emsp总的来说,这种格式化方式是为了提高数字的可读性,尤其是在处理大数字时。😊📊



回页目录


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.toLocaleString('en-US');
console.log(formattedNumber); // 输出: "1,234,567"


Java

使用 String.format 方法:


long number = 1234567L;
String formattedNumber = String.format("%,d", number);
System.out.println(formattedNumber); // 输出: 1,234,567

或者使用 DecimalFormat 类:


import java.text.DecimalFormat;

long number = 1234567L;
DecimalFormat df = new DecimalFormat("#,###");
String formattedNumber = df.format(number);
System.out.println(formattedNumber); // 输出: 1,234,567


C#

使用 ToString 方法的格式化字符串:


int number = 1234567;
string formattedNumber = number.ToString("N0");
Console.WriteLine(formattedNumber); // 输出: 1,234,567


Ruby

使用 Kernel#format 方法:


number = 1234567
formatted_number = format("%<number>,", number: number)
puts formatted_number # 输出: 1,234,567


PHP

使用 number_format 函数:


$number = 1234567;
$formatted_number = number_format($number);
echo $formatted_number; // 输出: 1,234,567

这些示例展示了如何在不同的编程语言中实现千位分隔符。每种语言都有自己的方式来处理数字格式化,通常都有内置的方法或函数来完成这项任务。




回页目录


5、python中“数字国际”的六种方式


确实,Python 提供了多种灵活的方式来格式化数字,包括使用内置的库、自定义函数、以及语言提供的格式化方法。以下是您提到的六种在 Python 中实现国际数字格式(千位分隔符)的方法:

  1. 使用 locale
import locale
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')  # 设置为美国英语环境
formatted_number = locale.format_string("%d", 112225864888555, grouping=True)
print(formatted_number)


  1. 自定义函数(我的第一种实现)

def format_number_with_commas(number):
    num_str = str(number)
    num_str_reversed = num_str[::-1]
    grouped = ','.join(num_str_reversed[i:i+3] for i in range(0, len(num_str_reversed), 3))
    return grouped[::-1]

print(format_number_with_commas(112225864888555))


  1. 自定义函数(您的第一种实现)

python
def num_to_3(num: int) -> str:
num_3 = []
while num > 1000:
num_3.append(num % 1000)
num //= 1000
num_3.append(num)
return ‘,’.join(map(str, num_3[::-1]))

print(num_to_3(112225864888555))

  1. 自定义函数(您的第二种实现)

python
def num_to_3(num: int) -> str:
num = str(num)
num_3 = []
while len(num) > 3:
num_3.append(num[-3:])
num = num[:-3]
num_3.append(num)
return ‘,’.join(num_3[::-1])

print(num_to_3(112225864888555))

  1. 使用 f-string

python
num = 112225864888555
print(f"{num:,}")

  1. 使用 str.format 方法

python
num = 112225864888555
print("{:,}".format(num))

所有这些方法都能够输出相同的结果,即:

112,225,864,888,555

这些不同的方法展示了 Python 的灵活性和强大功能,可以根据具体需求选择最适合的解决方案。😎😎😎



回页目录


6、结语


  • 我一个从csdn文章html文本中解析到阅读量元数据(真实数据int,非x.xxk/w样式)的格式化打印需求,引发蝴蝶效应,和您来了一块“国际数字格式”的探讨。

    让我获得了上述的多多益处!😉😉

  • ai学伴
    很高兴听到您从这个简单的需求中,获得了如此多的收获!编程和技术讨论往往就是这样,一个小问题可以引发一系列的学习和探索,就像蝴蝶效应一样,一个小小的动作可以带来巨大的连锁反应。

      很高兴能够与您一起探讨“国际数字格式”的问题,并且看到您能够将这些知识应用到实际的项目中。这也正是编程社区的魅力所在——共享知识,互相学习,共同进步。

      在未来的编程之路上遇到任何其他问题,或需要进一步的帮助,随时都可以寻求网络、社区和ai的帮助。让我们一起继续编程旅程,愿我们的代码之路越走越宽广,收获越来越多!😉😉🚀🌟👨‍💻👩‍💻



回页目录


2、算法解析


  解析


3、完整源码(Python)

(源码较长,点此跳过源码)






回页首


上一篇:  菱形打印(Python)(“以块组合块”,以行凝结循环打印)
下一篇: 



我的HOT博:

  本次共计收集404篇博文笔记信息,总阅读量61.76w。数据采集于2024年11月25日 08:23:38,用时7分56.4秒。阅读量不小于6.00k的有 9 9 9篇。

  1. 让QQ群昵称色变的神奇代码
    地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    浏览阅读:6.2w
    点赞:25 收藏:89 评论:17
    (本篇笔记于2022-01-18 19:15:08首次发布,最后修改于2022-01-20 07:56:47)

  2. Python列表(list)反序(降序)的7种实现方式
    地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    浏览阅读:1.3w
    点赞:9 收藏:40 评论:8
    (本篇笔记于2022-12-11 23:54:15首次发布,最后修改于2023-03-20 18:13:55)

  3. pandas 数据类型之 DataFrame
    地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    浏览阅读:1.0w
    点赞:7 收藏:40 
    (本篇笔记于2022-05-01 13:20:17首次发布,最后修改于2022-05-08 08:46:13)

  4. 个人信息提取(字符串)
    地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    浏览阅读:1.0w
    点赞:3 收藏:20 
    (本篇笔记于2022-04-18 11:07:12首次发布,最后修改于2022-04-20 13:17:54)

  5. 罗马数字转换器|罗马数字生成器
    地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    浏览阅读:8.2k
    收藏:3 
    (本篇笔记于2022-01-19 23:26:42首次发布,最后修改于2022-01-21 18:37:46)

  6. 统计字符串字符出现的次数
    地址:https://blog.csdn.net/m0_57158496/article/details/130517025
    浏览阅读:8.1k
    点赞:5 收藏:24 
    (本篇笔记于2023-05-06 22:28:18首次发布,最后修改于2023-05-12 06:21:40)

  7. Python字符串居中显示
    地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    浏览阅读:8.0k
    点赞:1 收藏:12 评论:1
  8. 回车符、换行符和回车换行符
    地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    浏览阅读:6.7k
    点赞:2 收藏:4 
    (本篇笔记于2022-02-24 13:10:02首次发布,最后修改于2022-02-25 20:07:40)

  9. python清屏
    地址:https://blog.csdn.net/m0_57158496/article/details/120762101
    浏览阅读:6.1k
    点赞:1 收藏:10 

推荐条件 阅读量突破6.00k
(更多热博,请点击蓝色文字跳转翻阅)

  • 截屏图片
    在这里插入图片描述
      (此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)



回页首


老齐漫画头像

精品文章:

  • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


◆ Python 入门指南【Python 3.6.3】


好文力荐:

  • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代码编写规范
  • Python的docstring规范(说明文档的规范写法)


http://www.kler.cn/a/417138.html

相关文章:

  • 深度学习:梯度下降法
  • 【开源免费】基于Vue和SpringBoot的技术交流分享平台(附论文)
  • 1-1 Gerrit实用指南
  • 排序算法之选择排序堆排序
  • 【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-39
  • TortoiseGit 将本地已有仓库推送到远程
  • 解决windows下php8.x及以上版本,在Apache2.4中无法加载CURL扩展的问题
  • 存储服务器一般做是做什么阵列?详细列举一下
  • Spring boot之BeanDefinition介绍
  • 在Java中使用Apache POI导入导出Excel(一)
  • TensorBoard中的add_image()和add_scalar()
  • Pandas 操作Excel
  • duxapp 2024-11-29 更新 新增 UI 组件功能
  • iQOO Neo10系列携三大蓝科技亮相,性能与续航全面升级
  • 知行合一:实践中的技术分享与学习
  • PostgreSQL WAL日志膨胀处理
  • 排序算法思维导图
  • Ubuntu源码安装gitlab13.7集群多前端《二》
  • MATLAB期末复习笔记(二)
  • Zero to JupyterHub with Kubernetes上篇 - Kubernetes 离线二进制部署
  • 【Git系列】利用 Bash 脚本获取 Git 最后一次非合并提交的提交人
  • CSS笔记(四)卡片翻转
  • 【优选算法篇】两队接力跑:双指针协作解题的艺术(下篇)
  • elementUI el-image的使用
  • 深度学习基础2
  • Windchill查找某一个id关联的数据库表