Angular 8 如何使用 toLocaleString() 将阿拉伯字符数字读取为实数以将其转换为特定格式
Angular 8 How to read an Arabic characters number as a real integer to convert it into specific format using toLocaleString()
我需要将英文数字 (1234567890) 转换为阿拉伯数字:
arabicNumbers = ['۰', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩'];
我成功使用了:
let chars = value.toString(10).split('');
//console.log(chars)
for(let i=0; i<chars.length; i++)
{
chars[i]=arabicNumbers[chars[i]]
}
value = chars.join('');
最终值的格式应与英文数字相同。例如,如果我在使用 toLocaleString('en-GB')
后的价值为 89000000 美元,它将是:
89,000,000
但在阿拉伯语中它仍然存在:
٨٩۰۰۰۰۰۰
我需要的是:
٨٩,۰۰۰,۰۰۰
我尝试了 charCodeAt()
,但它却将其重新转换为英文字符
无需将字符转换为阿拉伯数字只需使用:
let enNumber = 89000000;
console.log(enNumber.toLocaleString('fa-IR')); // ۸۹٬۰۰۰٬۰۰۰
我需要将英文数字 (1234567890) 转换为阿拉伯数字:
arabicNumbers = ['۰', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩'];
我成功使用了:
let chars = value.toString(10).split('');
//console.log(chars)
for(let i=0; i<chars.length; i++)
{
chars[i]=arabicNumbers[chars[i]]
}
value = chars.join('');
最终值的格式应与英文数字相同。例如,如果我在使用 toLocaleString('en-GB')
后的价值为 89000000 美元,它将是:
89,000,000
但在阿拉伯语中它仍然存在:
٨٩۰۰۰۰۰۰
我需要的是:
٨٩,۰۰۰,۰۰۰
我尝试了 charCodeAt()
,但它却将其重新转换为英文字符
无需将字符转换为阿拉伯数字只需使用:
let enNumber = 89000000;
console.log(enNumber.toLocaleString('fa-IR')); // ۸۹٬۰۰۰٬۰۰۰