Я получаю валюту из финансов Google с помощью скрипта, а затем я записываю данные в базу данных.MySQL Decimal 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]);
Любые советы о том, как исправить это/я делаю что-то не так?
Его странно причина номер я m ввод -, 61.5715. '20,8' работал, но не должен был' 9,8' также работал на этот номер? – Borsn
, тогда мой ответ точно так. Вы сохраняете нечто большее, чем 9, и оно уменьшается до максимально возможного значения для поля. Попробуйте изменить свою подачу на DECIMAL (10,8), и это должно сохранить такие вещи :) увеличьте первое число, чтобы сохранить десятичные значения с более высоким значением. –
Получил это. Спасибо! :) – Borsn