Python 中文(大写)数字转阿拉伯数字
中文转数字,小数的化考虑点字进一步封装即可。
# constants for chinese_to_arabic
CN_NUM = {'〇' : 0, '一' : 1, '二' : 2, '三' : 3, '四' : 4, '五' : 5, '六' : 6, '七' : 7, '八' : 8, '九' : 9, '零' : 0,'壹' : 1, '贰' : 2, '叁' : 3, '肆' : 4, '伍' : 5, '陆' : 6, '柒' : 7, '捌' : 8, '玖' : 9, '貮' : 2, '两' : 2,
}CN_UNIT = {'十' : 10,'拾' : 10,'百' : 100,'佰' : 100,'千' : 1000,'仟' : 1000,'万' : 10000,'萬' : 10000,'亿' : 100000000,'億' : 100000000,'兆' : 1000000000000,
}def chinese_to_arabic(cn:str) -> int:unit = 0 # currentldig = [] # digestfor cndig in reversed(cn):if cndig in CN_UNIT:unit = CN_UNIT.get(cndig)if unit == 10000 or unit == 100000000:ldig.append(unit)unit = 1else:dig = CN_NUM.get(cndig)if unit:dig *= unitunit = 0ldig.append(dig)if unit == 10:ldig.append(10)val, tmp = 0, 0for x in reversed(ldig):if x == 10000 or x == 100000000:val += tmp * xtmp = 0else:tmp += xval += tmpreturn val# TODO: make a full unittest
def test():test_dig = ['八','十一','一百二十三','一千二百零三','一万一千一百零一','十万零三千六百零九','一百二十三万四千五百六十七','一千一百二十三万四千五百六十七','一亿一千一百二十三万四千五百六十七','一百零二亿五千零一万零一千零三十八']for cn in test_dig:x = chinese_to_arabic(cn)print(cn, x)assert x == 10250011038if __name__ == '__main__':test()
八 8
十一 11
一百二十三 123
一千二百零三 1203
一万一千一百零一 11101
十万零三千六百零九 103609
一百二十三万四千五百六十七 1234567
一千一百二十三万四千五百六十七 11234567
一亿一千一百二十三万四千五百六十七 111234567
一百零二亿五千零一万零一千零三十八 10250011038
Python 中文(大写)数字转阿拉伯数字相关推荐
- 中文大写数字转换为阿拉伯数字(java)
1.引言 昨天面试了微软的暑期实习生,二面的时候面试官给出了这道题,起初拿到题目的时候感觉还挺简单的,想着直接用遍历加一个缓存应该就能搞定了,但是和面试官沟通了一会儿之后发现自己没考虑到的还有很多,最 ...
- 数字大写 php 代码,PHP 中文大写数字 转成 数字代码
echo ""; echo test('一十二亿七十一万五十一'); /* create by piaofen date: 2011-03-31 function: 中文大写数字转 ...
- 【工具封装】Python 实现将阿拉伯数字 === 转换成中文大写数字
一.序言: 工具封装第四弹,阿拉伯数字 ===> 转换成 ===> 中文大写数字,喜欢就赶紧收藏+点赞+关注吧 !!! ---- Nick.Peng 二.实现代码如下: #!/usr/ ...
- Python:阿拉伯数字转换为中文大写数字(金额的读数规则)
萌萌帮班里同学做了一个python的编程作业,正好回顾一下python基础知识,以下源码和思考过程,代码全部原创. IDE:pycharm python版本:python3.7 ''' 实验目的:在银 ...
- 把阿拉伯数字翻译成中文大写数字
package com.zcw.zcwbook.demo15;/*** @program: zcwbook* @description: 把阿拉伯数字翻译成中文大写数字* @author: zhaoc ...
- js如何实现阿拉伯数字转中文大写数字
前言 最近有个需求,需要把阿拉伯数字转成中文大写数字,比如:100 转换成壹佰元.话不多说,撸起袖子就是干,做野! 规则 首先我们看看百度百科大写数字,对大写规则的描述: 中文大写数字到"元 ...
- 将阿拉伯数字转换为中文大写数字 —— pyhton实现
将阿拉伯数字转换为中文大写数字 -- pyhton实现 在银行的日常业务中,常常需要用到将阿拉伯数字转换为中文大写数字的 功能.这次实验将编写一个程序,将用户输入的阿拉伯数字代表的金额,转换为大写数字 ...
- 阿拉伯数字转换为中文大写数字
这个功能使用场景不多,百度也能找到很多相关代码,只不过我找了几个看的不是很明白,为了锻炼自己的思维能力,所以就干脆自己写了一个,不仅分享代码,同时也分享一下我的思路 JS代码 let moneyCas ...
- 将一组阿拉伯数字转换成中文大写数字
题目大概: 将一组阿拉伯数字转换成中文大写数字 52306 ==> 伍万贰千叁百零陆 我实现了将文件中的一组数字(每行为一个数) 形如: Java代码 25364 466932300 ...
最新文章
- BUU CODE REVIEW 1
- 使用Apache Lucene 4.3轻松进行搜索
- 解说redis中如何实现高可用
- 零基础 Amazon Web Services (AWS) 入门教程图文版(一)
- python-发送短信验证码-功能的实现
- 钣金cad插件_ug,CAD,SolidWorks,钣金??????非标等设计
- Spotfire 常用数据类型
- 金士顿服务器内存条怎么看型号,区分内存条型号的方法
- 机器学习专有名词归纳
- 专业精神-希波克拉底的誓言(转载)
- 谈谈CANopen协议的机制
- 路演活动平台,怎么报名参加创业路演?
- 一文搞懂 Redis
- anaconda linux环境变量,配置anaconda环境(linux)
- 2022年金三银四面试葵花宝典(你不知道的程序员面试技巧)
- c语言镶嵌循环,讲解C++的do while循环和循环语句的嵌套使用方法
- 20种常用的运放典型电路
- 关于谷歌学术搜索.enw格式批量导入endnote的解决方法
- 阿里聚安全 2016 年报:移动安全风险与日俱增
- Chrome浏览器安装主题方法