我的观点有几个数字:
var total = '100.000.559,99';
var paymentOne = '560';
var paymentTwo = '99.999.999,99';
我改变了我的 paymentOne,所以我想重新计算它们。我将所有数字包装在:parseFloat,但我100.000.559,99
将是100
. 所以这行不通..
所以我的问题是,我怎样才能将它们用于数学?
我的观点有几个数字:
var total = '100.000.559,99';
var paymentOne = '560';
var paymentTwo = '99.999.999,99';
我改变了我的 paymentOne,所以我想重新计算它们。我将所有数字包装在:parseFloat,但我100.000.559,99
将是100
. 所以这行不通..
所以我的问题是,我怎样才能将它们用于数学?
您可以使用以下方式转换为浮点数:
+total.split(".").join("").replace(",", "."); // 100000559.99
或使用正则表达式:
+total.replace(/[.,]/g, function(c) { return c === "," ? "." : "" });
看起来您使用的是逗号而不是句点,以及根本不需要它们的句点。试试这个:
var total = 100000559.99;
var paymentOne = 560;
var paymentTwo = 99999999.99;
在解析之前,您可以执行以下操作
var total = '100.000.559,99';
total = total.replace( /\./g, "" ).replace( /,/g, "." );
最好将它包装在一个函数中
function convertToFloat( num ) {
num = num.replace( /\./g, "" ).replace( /,/g, "." );
return parseFloat( num );
}