2015-10-14 122 views
0

我正在尝试将货币格式化为数字。 例如: element.getValue()导致7.461.259,60表达式:将货币转换为标准数字

我使用此表达式的格式改变为7461259.60 element.getValue()代替(/ [^ 0-9。 - ] /,'');

但这会导致7461.259,60

任何建议,以解决这一问题?

+0

什么是元素的返回类型.getValue()?字符串,双重?你如何揭示其价值(“7.461.259,60”)? – renonsz

回答

2

一个可能的解决方案:如上

var str = '7.461.259,60'; 
 

 
var val = str.replace(/[^0-9,]/g , '').replace(/,/ , '.') * 1; 
 

 
document.write(val);

+1

将某物转换为数字的'* 1'是一种破解。你可以直接调用'Number'。 –

0

同样的解决方案,但没有正则表达式,这似乎令人困惑的一些:

var inputVal = "7.461.259,60"; 

var noDots = inputVal.replace(".", ""); 
var commaToDot = noDots.replace(",", "."); 

var outputVal = parseFloat(commaToDot);