【python】大写金额转换为数字的简单算法

背景:

项目中遇到的人为填写的大写金额需要转换为数字。目前只支持整元未考虑角分的情况。

从策划到设计制作,每一步都追求做到细腻,制作可持续发展的企业网站。为客户提供网站制作、成都做网站、网站策划、网页设计、域名注册、网页空间、网络营销、VI设计、 网站改版、漏洞修补等服务。为客户提供更好的一站式互联网解决方案,以客户的口碑塑造优易品牌,携手广大客户,共同发展进步。

如:

一亿三千万   -->
十万        -->
一百九十万   -->
一万零一十   -->
拾億零叁佰肆拾柒萬零贰拾捌 -->

实现逻辑:

1. 根据数字的读取规则,个十百千万亿,大于10的为单位,等于10的情况要分单位和普通数字。

2. 单位分为基本单位和可变单位,如:一千八百六十万,优先解析万记录为基础单位,再次解析十则可变单位为10* = ,基础单位用于和下一次单位百解析计算可变单位为100* = 。

代码:

 1 chinese_num = {
 2     u'': 0, u'': 0,
 3     u'': 1, u'': 1,
 4     u'': 2, u'': 2, u'': 2,
 5     u'': 3, u'': 3,
 6     u'': 4, u'': 4,
 7     u'': 5, u'': 5,
 8     u'': 6, u'': 6,
 9     u'': 7, u'': 7,
10     u'': 8, u'': 8,
11     u'': 9, u'': 9,
12     u'': 10, u'': 10,
13     u'': 100, u'': 100,
14     u'': 1000, u'': 1000,
15     u'': , u'': ,
16     u'亿': , u'': ,
17 }
18 
19 
20 def chinese2digits(value):
21     total = 0.00
22     # 基础单位
23     base_unit = 1
24     # 可变单位
25     dynamic_unit = 1
26     for i in range(len(value) - 1, -1, -1):
27         val = chinese_num.get(value[i])
28         # 表示单位
29         if val > 10:
30             if val > base_unit:
31                 base_unit = val
32             else:
33                 dynamic_unit = base_unit * val
34         # 10既可以做单位也可做数字
35         elif val == 10:
36             if i == 0:
37                 if dynamic_unit > base_unit:
38                     total = total + dynamic_unit * val
39                 else:
40                     total = total + base_unit * val
41             else:
42                 dynamic_unit = base_unit * val
43         else:
44             if dynamic_unit > base_unit:
45                 total = total + dynamic_unit * val
46             else:
47                 total = total + base_unit * val
48     return total

新闻标题:【python】大写金额转换为数字的简单算法
本文地址:https://www.cdcxhl.com/article8/dsojcip.html

成都网站建设公司_创新互联,为您提供网站设计公司网站策划品牌网站建设手机网站建设建站公司域名注册

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设