将英文数字转换为阿拉伯语或波斯语



我正在尝试定制一个管道将数字转换为阿拉伯语或波斯语,或找到一个函数将数字转换为阿拉伯语数字。

我有一个函数,但它不能给我一个稳定的结果,

以为例,我有这个日期:1400/2/2——比;۲/۲۱٤۰۰

arabicNumbers = ['۰', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩'];
convertToArabic = (number) => {
return String(number).split('').map(char => {
if (char === '/') {
return '/';
} else {
return this.arabicNumbers[Number(char)]
}
}
).join('');
}

这个函数没有给出一个稳定的结果,它一直在交换数字的顺序。

我希望你能帮我解决这个问题

您可以通过以下2个简单的一行示例将阿拉伯语或波斯语数字转换为拉丁语(英语),并保持其余文本不变:

const numLatinToAr=n=>n.replace(/d/g,d=>"٠١٢٣٤٥٦٧٨٩"[d]);
const numLatinToFa=n=>n.replace(/d/g,d=>"۰۱۲۳۴۵۶۷۸۹"[d]);

console.log(numLatinToAr("1400/2/2"));  // to Arabic
console.log(numLatinToFa("1400/2/2"));  // to Persian

最新更新