Python 如何在django中将普通数字转换为阿拉伯数字
我有一个数字列表[1,2,3,…] 现在我想用django把它们转换成阿拉伯数字 可能吗?欢迎提出任何想法。尝试此功能:Python 如何在django中将普通数字转换为阿拉伯数字,python,django,Python,Django,我有一个数字列表[1,2,3,…] 现在我想用django把它们转换成阿拉伯数字 可能吗?欢迎提出任何想法。尝试此功能: def enToArNumb(number): dic = { 0:'۰', 1:'١', 2:'٢', 3:'۳', 4:'۴', 5:'۵', 6:'۶', 7:'۷', 8:'۸',
def enToArNumb(number):
dic = {
0:'۰',
1:'١',
2:'٢',
3:'۳',
4:'۴',
5:'۵',
6:'۶',
7:'۷',
8:'۸',
9:'۹',
.:'۰',
}
return dic.get(number)
然后像这样使用它:
ar_numbers = [enToArNumb(num) for num in numbers]
要将(unicode)数字字符串转换为等效的“阿拉伯-印度”数字,可以使用unicode.translate()
:
这在Python2和Python3中应该可以工作
要从整数转换,请先将整数转换为unicode字符串,然后转换:
>>> for s in 1234567890, 33342353, 88192838743876487602873545683470:
... s = unicode(s) # Python 2 (s = str(s) for Python 3)
... print('{!r} -> {!r}'.format(s, s.translate(arabic_indic_trans)))
这就是中东地区的翻译方式,因为哈桑的答案使用的数字与标准阿拉伯数字非常接近,但并不相同
def en_to_ar_num(数字字符串):
dic={
'0': '۰',
'1': '١',
'2': '٢',
'3': '۳',
'4': '٤',
'5': '۵',
'6': '٦',
'7': '۷',
'8': '۸',
'9': '۹',
}
返回“.join”([dic[char]表示数字字符串中的字符])
数字(124)
根据shakram02答案,如果有破折号或字符串,您可以将英文数字翻译成阿拉伯文数字:
def en_to_ar_num(number_string):
lis=[]
dic = {
'0': '۰',
'1': '١',
'2': '٢',
'3': '۳',
'4': '٤',
'5': '۵',
'6': '٦',
'7': '۷',
'8': '۸',
'9': '۹',
}
for char in number_string:
if char in dic:
lis.append(dic[char])
else:
lis.append(char)
return "".join(lis)
打印:
print(en_to_ar_num("124-25-abc"))
输出:
转换成什么?使用where?您给出的数字列表已经是阿拉伯数字了。您想要数字的字符串表示吗?此列表具有普通数字。但在阿拉伯语中,它们有不同的数字,如‘٠’、‘١’、‘٣’、‘٤’、‘٥’、‘٧’、‘٩’
print(en_to_ar_num("124-25-abc"))