0

我的观点有几个数字:

var total      = '100.000.559,99';
var paymentOne = '560';
var paymentTwo = '99.999.999,99';

我改变了我的 paymentOne,所以我想重新计算它们。我将所有数字包装在:parseFloat,但我100.000.559,99将是100. 所以这行不通..

所以我的问题是,我怎样才能将它们用于数学?

4

3 回答 3

3

您可以使用以下方式转换为浮点数:

+total.split(".").join("").replace(",", ".");  // 100000559.99

或使用正则表达式:

+total.replace(/[.,]/g, function(c) { return c === "," ? "." : "" });
于 2013-01-03T23:00:18.220 回答
1

看起来您使用的是逗号而不是句点,以及根本不需要它们的句点。试试这个:

var total      = 100000559.99;
var paymentOne = 560;
var paymentTwo = 99999999.99;
于 2013-01-03T22:58:31.287 回答
1

在解析之前,您可以执行以下操作

var total = '100.000.559,99';
total = total.replace( /\./g, "" ).replace( /,/g, "." );

最好将它包装在一个函数中

function convertToFloat( num ) {
    num = num.replace( /\./g, "" ).replace( /,/g, "." );
    return parseFloat( num );
}
于 2013-01-03T23:01:10.077 回答