2015-01-21 36 views
0

我保存float從輸入到MySQL的數字。 我把「3.2」和「486.2」保存在MySQL存儲爲「3.2」,「486.2」,與輸入相同,此字段的類型爲floatLaravel 4 echo「Orignal」在刀片中的浮點值

但後來我打電話從MySQL這個數字在Laravel到刀片,如:

{{ $Item->price }} and {{ $Item->totalPay }} 

頁告訴我:3.2 => 3.2000000476837486.2 => 486.20001220703

是什麼錯我是做? 這是由Blade Engine引起的嗎? 我嘗試四捨五入(),但這似乎不能。

回答

0

這是浮動一個問題,特別是與試圖小數存儲爲浮動,因爲他們不能正確地表示。您應該嘗試在數據庫中使用十進制字段,因爲您正在放置貨幣數據。或者更好的辦法是使用整數字段,將您的號碼保存爲32048620,然後進行所有計算,然後將值除以100,或在輸出之前格式化數字。

+0

我應該存儲爲十進制類型嗎?謝謝,我會嘗試 – 2015-01-21 09:42:35

+0

是的,**十進制**,所以你不需要做'仙'的轉換。 – 2015-01-21 12:26:16

+0

例如我需要存儲兩個價格:3.23和3.2444,我應該使用哪種數據類型? – 2015-01-21 17:47:04