2016-10-05 6 views
0

私は数字の束を出力しているforeachループを持っています。そして、それらの数字をすべて取り出して一緒に追加したいと思います。しかし、私がこれを行うと、小数点の前に何が一緒に追加されます。私はおそらく私はnumber_format多分何かを見逃しているように感じる??ここでPHPで小数点を追加する

はコードです:

$totalHours = '0'; 
    foreach ($timeEntries as $entry) { 
    $entryID = $entry->id; 
    $entryHours = $entry->hours; 
    $entryDate = $entry->spent_at; 
    $totalHours += $entryHours; 
    echo $entryHours."<br />"; 
    } 
    echo "All added up: $totalHours <br />"; 

そして、それは次のように表示されます。

0.7 
0.5 
0.53 
2.6 
0.8 
0.2 
0.5 
2.22 
1.28 
0.57 
0.55 
0.35 
0.5 
0.5 
1.2 
1.4 
1.2 
0.5 
0.82 
1.0 
0.17 
0.33 
2.0 
1.0 
0.5 
1.0 
0.17 
1.97 
All added up: 14 

任意のアイデア?

+0

あなたは浮動小数点数として数字をキャストしようとしたことがありますか?これは、http://stackoverflow.com/questions/481466/php-string-to-float – Craig

+0

'$ totalHours'を' 0.0'(引用符なし)に設定する必要があるので、最初からfloatとしてキャストされます。整数の文字列ではありません。 – aynber

+0

@aynberそれは問題ではありません。 PHPはすべての算術演算を浮動小数点として扱います。 – Barmar

答えて

0

@craigがこれを手に入れました!

ソリューションは、次のように変更しました:

$totalHours = '0'; 
    foreach ($timeEntries as $entry) { 
    $entryID = $entry->id; 
    $entryHours = $entry->hours; 
    $entryDate = $entry->spent_at; 
    $floatHours = (float) $entryHours; 
    $totalHours += $floatHours; 
    } 
    echo "All added up: $totalHours <br />"; 
+0

これは必要ではありません。これは、キャストを使用せずに動作します。 http://ideone.com/7iu2bI – Barmar

関連する問題