如何在javascript中将拉丁数字转换为阿拉伯数字?
我使用自定义函数将数字转换为阿拉伯语格式,如下所示:
const numbers = `??????????`;
const convert = (num) => {
let res = "";
const str = num.toString();
for (let c of str) {
res += numbers.charAt(c);
}
return res;
};
它的工作原理是这样的:
console.log(convert(123)) // ==> ???
当有一个带小数的数字并将其转换为没有小数点的阿拉伯格式时会出现问题,例如:
console.log(convert(123.9)) // ==> ????
我希望输出为?????.
如何将带有小数的数字转换为带有我的函数中包含的小数点的阿拉伯格式?
回答
尝试 toLocaleString()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString
console.log((123.9).toLocaleString('ar-AE'))
编辑:
有toLocaleString选项
(123.9872512).toLocaleString("ar-AE", {
useGrouping: false,
maximumSignificantDigits: 10
})
- `(1000).toLocaleString('ar-AE', { useGrouping: false })`
- 显然我们增加了`maximumSignifcantDigits`。`(123.9872512).toLocaleString("ar-AE", { useGrouping: false, maximumSignificantDigits: 10 })`