0

だから私は次のようなhoursStringと呼ばれる文字列を持っています

4.3|2.4|3.4|3.0|2.64|3.0|1.0|0.0|2.6|3.4|

文字列を配列に分割し、すべての数値を合計して div "test" の html ページに返します。

ジャバスクリプト:

var hours=hoursString.split("|");

    var total=0;
    for (var i=0;i<hours.length;i++)
        {
        total += hours[i];
        }
    document.getElementById("test").innerHTML=total;

結果は NaN です。誰かが私が間違っていることを教えてもらえますか? ありがとう!

4

4 に答える 4

0
var hoursString = "4.3|2.4|3.4|3.0|2.64|3.0|1.0|0.0|2.6|3.4|"
var hours=hoursString.split("|");

var total=0;
var idx = 0;
for(idx in hours) {
    total += +hours[idx];
}

alert(total);

フィドル

于 2013-06-11T20:54:09.673 に答える
0

あなたの問題は、数値として書かれているにもかかわらず、時間の各要素がまだ文字列値であることです。これを修正する最も簡単な方法は、javascripts parseFloat() 関数を使用することです。

例:

var hours=hoursString.split("|");

    var total=0;
    for (var i=0;i<hours.length;i++)
        {
        total += parseFloat(hours[i]);
        }
    document.getElementById("test").innerHTML=total;

編集:parseIntからに変更parseFloat

于 2013-06-11T20:38:36.517 に答える