终极解决方案:Python 将数字转为中文的万亿兆或者英文的KMBT形式
采用的递归方法,相比于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形式相关推荐
- python 转换数字为中文的大写
python 转换数字为中文的大写 python 转换为中文的大写数字,比较简单,有需要的同学可以拿去使用,没做角和分 可以自己修改 下面为代码 #-*-coding:utf-8 -*- import ...
- js收据、发票等表格数据格式化,js把数字转为中文大写
1.表格金额格式化 /*** 把金额转为发票.收据等表格能遍历显示的数据* * @param {money} Numner 金额大小* @param {max} Numner 带(角.分的位数)* 例 ...
- js工具函数之数字转为中文数字和大写金额
1. 数字转为中文数字 function numberToChinese(num) {var AA = new Array("零", "一", "二& ...
- 天载网上炒股数字经济超60万亿市场空间待启
"十四五"规划纲要勾勒出未来五年数字经济发展蓝图,在此背景下,多方将进一步加强顶层设计,"十四五"数字经济专项规划.新时期推动"互联网+"政 ...
- vue 数字转为中文大写的代码
你可以使用如下代码来将数字转化为中文大写: function numberToChinese(number) {const chnNumChar = ["零","一&qu ...
- python菜单翻译成中文_一个把网站全英文转成中文的方法,让你轻松看懂python官网...
近日,在看python官网(英文网站)时,使用了有道翻译工具查看了几个专有名词.无意间,有了是不是可以输入网站地址进行翻译的想法,翻译后的网站地址点击进去后,又是一个什么情况呢?小编发现,经过有道翻译 ...
- python将数字转变为中文读法-Python转换数字到中文大写格式
今天有人在群里问到Python怎么把小写数字转换成中文的大写字符,觉得这个问题很有趣,于是想了一下,就开始写代码了. 以下是代码,感觉不足的地方就是如果是1001元,那么就会转换成 壹仟零佰零拾壹圆, ...
- python数字转汉字-Python转换数字到中文大写格式
今天有人在群里问到Python怎么把小写数字转换成中文的大写字符,觉得这个问题很有趣,于是想了一下,就开始写代码了. 以下是代码,感觉不足的地方就是如果是1001元,那么就会转换成 壹仟零佰零拾壹圆, ...
- python将数字转为0010_用Python将HTML转为PDF。
上期提到了如何获取公众号文章信息,这回就说下怎么将网页转为PDF,方便平常学习. 然后扩散一下之前一个比赛的结果(华章计算机抖音大赛). 顺便谈谈自己对今后送书的一个想法. 另外之前的送书活动,有中奖 ...
最新文章
- 蚂蚁上市分给员工 7000 亿股权,曾有人 28 岁财务自由,这次又将产生多少千万富翁?...
- C++知识点38——拷贝赋值运算符、析构函数、=default、阻止拷贝和赋值
- 神经网络参数量和计算量计算
- c语言基础傅里叶变换,急求:C语言如何实现快速傅里叶变换
- [Leedcode][JAVA][面试题 16.18][模式匹配][字符串][枚举]
- 黑白极简设计行业企业官网模板
- c++ vscode 第三方库_请教下,vscode中怎么编译带第三方库的文件呢?谢谢! - C++程序设计语言 - CPlusPlus - 水木社区...
- 如何使div的浏览器窗口高度为100%
- 十一、Oracle学习笔记:高级关联查询
- 学堂在线体育与社会作业答案(武汉体育学院)(学堂在线)网课搜题
- Java上传文件格式判断
- Android 百度地图导航引擎初始化失败
- 苹果Mac远程控制软件:Screens
- SpringBoot 优雅地对接口进行数据加解密
- 10-1 查询没有课程成绩的学生学号、姓名、性别。
- 单调函数有界性类题目解法
- 【深度学习】村通网之——谈谈Tensorflow Eager Execution机制之静态图和动态图的区别(一)
- RabbitMQ——RabbitMQ集群原理
- 他励直流电动机为什么不能直接启动?采用什么方法比较好
- 【干货】企业邮箱被列入黑名单如何解除,已解决!
热门文章
- 回溯方法解决数独问题
- Python requests爬取图片
- c 实现批量打印oracle,C#调用codesoft实现批量打印
- WINDOWS程序设计CHECK程序键盘实现鼠标光标的移动*
- 面了个 4 年 经验的,一问三不知还自认为很牛逼,真是醉了。。
- 一台计算机可以安装多台打印机吗,一台打印机这样设置可以让多台电脑进行共享打印...
- 分享各电商平台上的评论视频、主图和详情页的下载方法
- 被Teamviewer 割韭菜后 我才发现我大国产远控软件真香
- SONY 笔记本UBUNTU安装NVIDIA系统受限驱动
- golang圣经学习