将数字从法语语言环境转换为英语语言环境JavaScript

时间:2018-11-28 07:16:31

标签: javascript

我有一个来自法国地区的数字列表,例如“ 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

这看起来不太好。您对此问题有什么建议吗?我不想将逗号替换为“。”为了解决这个问题。

1 个答案:

答案 0 :(得分:0)

您要传递的是字符串,而不是Number对象(这是toLocaleString要求产生格式化数字的条件)。您有原始号码吗?

如果您不这样做,那么最好的选择(假设原始数字字符串采用标准格式)是将其转换为普通数字,然后重新格式化。假设您的数字将按照法语标准进行格式化(,作为小数点分隔符),则可以在创建数字对象之前使用简单的字符串替换:

var frenchNumberString = '123,456';
var numberObject = new Number(frenchNumberString.replace(',', '.'));

然后将numberObject传递到您的格式代码中。