javascript - 将英语数字转换为阿拉伯语或波斯语
问题描述
我正在尝试自定义管道以将数字转换为阿拉伯语或波斯语,或者找到将数字转换为阿拉伯数字的函数。
我有一个功能,但它不能给我一个稳定的结果,
例如我有这个日期:1400/2/2 ---> 2/2/1
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
推荐阅读
- google-coral - 第一次启动后无法连接到开发板
- python - 如何使用 def 开始密码验证代码并在 Python 中返回 T/F?
- reactjs - antd Table onRow onClick 到另一个组件
- python - 不同网络上不同机器上的 Python 代码并行化
- snowflake-cloud-data-platform - 查询雪花 s3 外部文件
- javascript - 不明白为什么要使用 let i=2 来操作函数碰撞
- mysql - 规范化后从表中删除多值数据
- java - 忽略加载急切的一对一休眠
- python - ImportError:无法从“tensorflow.keras.preprocessing”(未知位置)导入名称“image_dataset_from_directory”
- html - 如何在引导工具提示中显示表单元素?