采用的递归方法,相比于if判断,代码逻辑更加清晰,也具备更好的扩展性,以及需要修改成,个十百千万十万百万代码调整起来也是很方便。

中文

def humanize_float_cn(num: float, num_digits: int = 2):"""num:数字num_digits:小数点保留位数"""units = ['', '万', '亿', '兆(10^12)', '京(10^16)', '垓(10^20)', '秭(10^24)']def strofsize(num, level):if level >= len(units) - 1:return num, levelelif abs(num) >= 10000:num /= 10000level += 1return strofsize(num, level)else:return num, levelnum, level = strofsize(num, 0)if level > len(units):level -= 1return f'{round(num, num_digits)}{units[level]}'print(humanize_float_cn(123))
print(humanize_float_cn(-1024))
print(humanize_float_cn(44309483))
print(humanize_float_cn(-234923023))
print(humanize_float_cn(44801993094304))
print(humanize_float_cn(-47394813439493843))

123
-1024
4430.95万
-2.35亿
44.8兆(10^12)
-4.74京(10^16)

英语

def humanize_float_en(num: float, num_digits: int = 2):"""num:数字num_digits:小数点保留位数"""units = ['', 'K', 'M', 'B', 'T']def strofsize(num, level):if level >= len(units) - 1:return num, levelelif abs(num) >= 1000:num /= 1000level += 1return strofsize(num, level)else:return num, levelnum, level = strofsize(num, 0)if level > len(units):level -= 1return f'{round(num, num_digits)}{units[level]}'print(humanize_float_en(123))
print(humanize_float_en(-1024))
print(humanize_float_en(44309483))
print(humanize_float_en(-234923023, 5))
print(humanize_float_en(44801993094304, 0))
print(humanize_float_en(-47394813439493843))

123
-1.02K
44.31M
-234.92302M
45.0T
-47394.81T

终极解决方案:Python 将数字转为中文的万亿兆或者英文的KMBT形式相关推荐

  1. python 转换数字为中文的大写

    python 转换数字为中文的大写 python 转换为中文的大写数字,比较简单,有需要的同学可以拿去使用,没做角和分 可以自己修改 下面为代码 #-*-coding:utf-8 -*- import ...

  2. js收据、发票等表格数据格式化,js把数字转为中文大写

    1.表格金额格式化 /*** 把金额转为发票.收据等表格能遍历显示的数据* * @param {money} Numner 金额大小* @param {max} Numner 带(角.分的位数)* 例 ...

  3. js工具函数之数字转为中文数字和大写金额

    1. 数字转为中文数字 function numberToChinese(num) {var AA = new Array("零", "一", "二& ...

  4. 天载网上炒股数字经济超60万亿市场空间待启

    "十四五"规划纲要勾勒出未来五年数字经济发展蓝图,在此背景下,多方将进一步加强顶层设计,"十四五"数字经济专项规划.新时期推动"互联网+"政 ...

  5. vue 数字转为中文大写的代码

    你可以使用如下代码来将数字转化为中文大写: function numberToChinese(number) {const chnNumChar = ["零","一&qu ...

  6. python菜单翻译成中文_一个把网站全英文转成中文的方法,让你轻松看懂python官网...

    近日,在看python官网(英文网站)时,使用了有道翻译工具查看了几个专有名词.无意间,有了是不是可以输入网站地址进行翻译的想法,翻译后的网站地址点击进去后,又是一个什么情况呢?小编发现,经过有道翻译 ...

  7. python将数字转变为中文读法-Python转换数字到中文大写格式

    今天有人在群里问到Python怎么把小写数字转换成中文的大写字符,觉得这个问题很有趣,于是想了一下,就开始写代码了. 以下是代码,感觉不足的地方就是如果是1001元,那么就会转换成 壹仟零佰零拾壹圆, ...

  8. python数字转汉字-Python转换数字到中文大写格式

    今天有人在群里问到Python怎么把小写数字转换成中文的大写字符,觉得这个问题很有趣,于是想了一下,就开始写代码了. 以下是代码,感觉不足的地方就是如果是1001元,那么就会转换成 壹仟零佰零拾壹圆, ...

  9. python将数字转为0010_用Python将HTML转为PDF。

    上期提到了如何获取公众号文章信息,这回就说下怎么将网页转为PDF,方便平常学习. 然后扩散一下之前一个比赛的结果(华章计算机抖音大赛). 顺便谈谈自己对今后送书的一个想法. 另外之前的送书活动,有中奖 ...

最新文章

  1. 蚂蚁上市分给员工 7000 亿股权,曾有人 28 岁财务自由,这次又将产生多少千万富翁?...
  2. C++知识点38——拷贝赋值运算符、析构函数、=default、阻止拷贝和赋值
  3. 神经网络参数量和计算量计算
  4. c语言基础傅里叶变换,急求:C语言如何实现快速傅里叶变换
  5. [Leedcode][JAVA][面试题 16.18][模式匹配][字符串][枚举]
  6. 黑白极简设计行业企业官网模板
  7. c++ vscode 第三方库_请教下,vscode中怎么编译带第三方库的文件呢?谢谢! - C++程序设计语言 - CPlusPlus - 水木社区...
  8. 如何使div的浏览器窗口高度为100%
  9. 十一、Oracle学习笔记:高级关联查询
  10. 学堂在线体育与社会作业答案(武汉体育学院)(学堂在线)网课搜题
  11. Java上传文件格式判断
  12. Android 百度地图导航引擎初始化失败
  13. 苹果Mac远程控制软件:Screens
  14. SpringBoot 优雅地对接口进行数据加解密
  15. 10-1 查询没有课程成绩的学生学号、姓名、性别。
  16. 单调函数有界性类题目解法
  17. 【深度学习】村通网之——谈谈Tensorflow Eager Execution机制之静态图和动态图的区别(一)
  18. RabbitMQ——RabbitMQ集群原理
  19. 他励直流电动机为什么不能直接启动?采用什么方法比较好
  20. 【干货】企业邮箱被列入黑名单如何解除,已解决!

热门文章

  1. 回溯方法解决数独问题
  2. Python requests爬取图片
  3. c 实现批量打印oracle,C#调用codesoft实现批量打印
  4. WINDOWS程序设计CHECK程序键盘实现鼠标光标的移动*
  5. 面了个 4 年 经验的,一问三不知还自认为很牛逼,真是醉了。。
  6. 一台计算机可以安装多台打印机吗,一台打印机这样设置可以让多台电脑进行共享打印...
  7. 分享各电商平台上的评论视频、主图和详情页的下载方法
  8. 被Teamviewer 割韭菜后 我才发现我大国产远控软件真香
  9. SONY 笔记本UBUNTU安装NVIDIA系统受限驱动
  10. golang圣经学习