Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么当我尝试对这些parseFloat()值求和时,我得到的是串联而不是数学和?_Javascript_Jquery - Fatal编程技术网

Javascript 为什么当我尝试对这些parseFloat()值求和时,我得到的是串联而不是数学和?

Javascript 为什么当我尝试对这些parseFloat()值求和时,我得到的是串联而不是数学和?,javascript,jquery,Javascript,Jquery,我对JavaScript和jQuery非常陌生,在尝试执行简单求和时发现以下问题 因此,我有以下情况: var anticipoCalcolato = (saldoProgetto + anticipoProgetto); anticipoCalcolato = parseFloat(anticipoCalcolato).toFixed(2); var ulterioreSaldo = $("#variazioneUlterioreSaldoInput").val(); ulteri

我对JavaScript和jQuery非常陌生,在尝试执行简单求和时发现以下问题

因此,我有以下情况:

var anticipoCalcolato = (saldoProgetto + anticipoProgetto);
anticipoCalcolato = parseFloat(anticipoCalcolato).toFixed(2);

var ulterioreSaldo = $("#variazioneUlterioreSaldoInput").val();     
ulterioreSaldo = parseFloat(ulterioreSaldo);

var totalePagamento =  anticipoCalcolato + ulterioreSaldo;

console.log("ANTICIPO RICALCOLATO: " + anticipoCalcolato + " ULTERIORE SALDO: " + ulterioreSaldo + " TOTALE PAGAMENTO: " + totalePagamento);
因此,您可以看到,我正在尝试将这两个名为anticipoCalcolatoulterioreSaldo的值相加到totalePagamento变量中

如您所见,我对每个求和值都执行了
parseFloat()

问题是我在FireBug控制台中获得了以下结果:

TOTALE PAGAMENTO: 4392.378.36
所以问题是,它似乎仍然将这些值视为字符串,并进行串联,而不是求和 我错过了什么?如何尝试解决此问题?

toFixed()返回字符串,这就是您无法获得总和的原因。 请访问以下链接了解更多详细信息

如您所见,我对每个求和值都执行了parseFloat()

请注意,您对求和值的结果使用了
parseFloat()
。然后对其使用
toFixed()
,返回一个字符串

当您想要使用数学运算符时,您需要确保始终使用数值类型。为此,最好只在变量向用户显示的点(或之前)使用
toFixed()
。试试这个:

var anticipoCalcolato = parseFloat(saldoProgetto) + parseFloat(anticipoProgetto);
var ulterioreSaldo = parseFloat($("#variazioneUlterioreSaldoInput").val());
var totalePagamento = (anticipoCalcolato + ulterioreSaldo).toFixed(2);

console.log("ANTICIPO RICALCOLATO: " + anticipoCalcolato + " ULTERIORE SALDO: " + ulterioreSaldo + " TOTALE PAGAMENTO: " + totalePagamento);

提示:
toFixed
返回一个字符串。就像您的一样,您正在添加字符串。虽然此代码可能会工作……但没有解释,无论代码有多好,这都是一个非常低质量的答案
var anticipoCalcolato = parseFloat(saldoProgetto) + parseFloat(anticipoProgetto);
var ulterioreSaldo = parseFloat($("#variazioneUlterioreSaldoInput").val());
var totalePagamento = (anticipoCalcolato + ulterioreSaldo).toFixed(2);

console.log("ANTICIPO RICALCOLATO: " + anticipoCalcolato + " ULTERIORE SALDO: " + ulterioreSaldo + " TOTALE PAGAMENTO: " + totalePagamento);