javascript格式输入值为float

时间:2016-07-18 07:49:12

标签: javascript jquery javascript-events javascript-objects

我想将不同的输入值转换为float,无论它们输入的格式如何。

例如,这些值:

€ 1500000
€ 1.500.000
1500000
1.500.000

所有转换为带有两位小数的浮点类型,例如1500000.00

虽然我能够成功剥离欧元符号并剥离空格,但我无法将1.500.000转换为1500000.00

这是我到目前为止所做的:

var propertyValue2 = $scope.Data.PropertyCost.match(numberPattern);
propertyValue2 = $.trim($scope.Data.PropertyCost).replace(/€/g, '');
propertyValue2 = parseFloat(propertyValue2);
propertyValue2 = propertyValue2.toFixed(2);
console.log(propertyValue2);

我有什么机会可以达到我正在寻找的结果。

谢谢,Laziale

2 个答案:

答案 0 :(得分:0)

我没有点作为小数分隔符,你可以稍微改变正则表达式。

var propertyValue2 = '€ 12.000.123';
propertyValue2 = propertyValue2.trim().replace(/[€.]/g, '');
propertyValue2 = +propertyValue2;
propertyValue2 = propertyValue2.toFixed(2);
console.log(propertyValue2);

答案 1 :(得分:0)

使用正则表达式仅匹配数字:



var test = [
  '€ 1500000',
  '€ 1.500.000',
  '1500000',
  '1.500.000'
]
for (var i = 0; i < test.length; i++) {
  console.log(
    test[i],
    'evaluate to',
    parseFloat(test[i].toString().replace(/\D/g, '')).toFixed(2)
  )
}
&#13;
&#13;
&#13;