我使用腳本從Google財經獲取貨幣,然後將數據寫入數據庫。MySQL十進制9.99999999
但是當我這樣做,我得到9.99999999
,而不是我發送的。我有我的InnoDB設置爲DECIMAL(9,8)。
$conn->set_charset('utf8');
$add_currency_query = "INSERT INTO `currency_table`
(`currency_rate`, `time_fetched`, `service`)
VALUES ('$converted_amount', UTC_TIMESTAMP(), 'google-finance')";
我的PHP
$get = explode("<span class=bld>",$get);
$get = explode("</span>",$get[1]);
$converted_amount = preg_replace('/[^0-9\.]/', null, $get[0]);
就如何解決這一問題/我做錯了什麼有什麼建議?
它的怪異,因爲我」數進入的是61.5715。 '20,8'工作,但不應該有'9,8'也適用於這個數字? – Borsn
那麼我的答案就是這樣。你節省了大於9的東西,並降低到該領域的最大可能值。嘗試將您的檔案更改爲DECIMAL(10,8),並且應該保存這樣的內容:)增加第一個數字以保存更高值的小數。 –
明白了。謝謝! :) – Borsn