我使用脚本从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