In diesem Artikel wird hauptsächlich die Python-Methode zum Konvertieren chinesischer Zahlen in arabische Ziffern vorgestellt, die PythonString erfordert. Freunde, die sie benötigen, können sich darauf beziehen
Das Beispiel in diesem Artikel beschreibt die Methode zur Konvertierung chinesischer Zahlen in arabische Zahlen in Python. Teilen Sie es allen als Referenz mit. Die Details lauten wie folgt:
1. Nachfrage
今天写了三千二百行代码。 今天写了3200行代码。
Die beiden Zeilen haben das Gleiche Bedeutung, aber sie werden auf unterschiedliche Weise ausgedrückt. Ja, vereinen Sie sie.
2. Prinzip
Die Merkmale von Zahlen sind Zahlen + Einheiten, wie zum Beispiel dreihundert, zweiundvierzig, neuntausendzwei
Sie können von hinten nach vorne blättern. Wenn Sie auf eine Zahl von 0 bis 9 stoßen, multiplizieren Sie diese mit der vorherigen Einheit. Wenn Sie auf eine neue Einheit (zig Millionen) stoßen, ersetzen Sie diese durch eine Zahl für die nächste Zahl.
3. Beispiele
五百四十三 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. Referenzcode
#-*- 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'))
Ergebnis:
Das obige ist der detaillierte Inhalt vonBeispiel für die Konvertierung chinesischer Zahlen in arabische Zahlen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!