This article mainly introducesPythonmethods to convert Chinese numbers into Arabic numerals, involving Pythonstringtraversal and conversion related operating techniques. Friends in need can refer to the following
The example in this article describes the method of converting Chinese numbers into Arabic numerals in Python. Share it with everyone for your reference, the details are as follows:
1. Requirements
今天写了三千二百行代码。 今天写了3200行代码。
The two lines have the same meaning, but the way of expression is not very good. Unify.
2. Principle
The characteristics of numbers are numbers + units, such as three hundred, forty-two, nine thousand and two
You can traverse from back to front. When you encounter a number from 0 to 9, multiply it by the previous unit. When you encounter a new unit (tens of millions), replace it with a number for the next number.
3. Example
五百四十三 1. 三-->3 3 <10 : total = 3 2. 十-->10, 10 ≥10,且不为0 : r = 10 3. 四-->4, 4<10 : total = 3 + 4*10 = 43 4. 百-->100, 10 0≥10,且不为0 : r = 100 5. 五-->5, 5<10 : total = 43 + 5*100 = 543
4. Reference code
#-*- coding: cp936 -*- import re import string common_used_numerals_tmp ={'零':0, '一':1, '二':2, '两':2, '三':3, '四':4, '五':5, '六':6, '七':7, '八':8, '九':9, '十':10, '百':100, '千':1000, '万':10000, '亿':100000000} common_used_numerals = {} for key in common_used_numerals_tmp: common_used_numerals[key.decode('cp936')] = common_used_numerals_tmp[key] def chinese2digits(uchars_chinese): total = 0 r = 1 #表示单位:个十百千... for i in range(len(uchars_chinese) - 1, -1, -1): val = common_used_numerals.get(uchars_chinese[i]) if val >= 10 and i == 0: #应对 十三 十四 十*之类 if val > r: r = val total = total + val else: r = r * val #total =total + r * x elif val >= 10: if val > r: r = val else: r = r * val else: total = total + r * val return total print chinese2digits('两百三十二'.decode('cp936')) print "-------------------------" print chinese2digits('十二'.decode('cp936')) print "-------------------------" print chinese2digits('一亿零八万零三百二十三'.decode('cp936'))
result:
The above is the detailed content of Example of how to convert Chinese numbers into Arabic numerals in Python. For more information, please follow other related articles on the PHP Chinese website!