我有一个来自法国地区的数字列表,例如“ 123,459”,“ 561,79”,我想将其转换为我们正常的美国英语编号系统。如何在使用语言环境的JS中做到这一点?
function eArabic(x){
return x.toLocaleString('en-US',{ minimumFractionDigits:2,
maximumFractionDigits:2 });
}
Input : "123,345"
Output : "123,345"
Expected Output : 123.345
这看起来不太好。您对此问题有什么建议吗?我不想将逗号替换为“。”为了解决这个问题。
答案 0 :(得分:0)
您要传递的是字符串,而不是Number对象(这是toLocaleString
要求产生格式化数字的条件)。您有原始号码吗?
如果您不这样做,那么最好的选择(假设原始数字字符串采用标准格式)是将其转换为普通数字,然后重新格式化。假设您的数字将按照法语标准进行格式化(,
作为小数点分隔符),则可以在创建数字对象之前使用简单的字符串替换:
var frenchNumberString = '123,456';
var numberObject = new Number(frenchNumberString.replace(',', '.'));
然后将numberObject
传递到您的格式代码中。