我已經有了一個奇怪的PHP行爲與浮點值問題浮點值
$array_test["test"]= round($value,2); //first I round up a value
echo $array_test["test"]; //0,66
$s_array_test= serialize($array_test); //serializing the array
var_dump($s_array_test) // (...)s:4:"test";d:0.66000000000000003108624468950438313186168670654296875;}(...)
這是非常惱人的原因序列化數組存儲到數據庫中一個使用更多的空間......
如何解決這個問題 ?
THX
爲什麼不將值存儲在數據庫中,而不是複雜的結構? (順便說一句:你「鬆」只有32byte。如果你問我,它並不是那麼多)而且你似乎沒有提供你使用的真實代碼。你使用一個無效值_overwrite_'test''的值,_after_'round()'有一個無效值(應該是'0.66') – KingCrunch
如果我直接在db中存儲值,這會使我有很多字段可以有點煩人的代碼,我只是在uniq calcul中使用所有的值,所以...我只是修復代碼thx – krifur
另請參閱:http://stackoverflow.com/questions/6503928/a-php-bug-非常簡單的如何修復 – kapa