как выбрать так, чтоб в модели был тип стринг? Значение 0.00000901 делает "price" => "9.01E-6"
В php.ini precision = 14 без толку, в 0.00000901 8 знаков, а не понимает
при записи такое?
При записи нормально, но при получении из БД в пхп не вмещается
function number_to_string($x) { if ($x === null) { return null; } $type = gettype($x); $s = (string) $x; if (($type !== 'integer') && ($type !== 'double')) { return $s; } if (strpos($x, 'E') === false) { return $s; } $splitted = explode('E', $s); $number = rtrim(rtrim($splitted[0], '0'), '.'); $exp = (int) $splitted[1]; $len_after_dot = 0; if (strpos($number, '.') !== false) { $splitted = explode('.', $number); $len_after_dot = strlen($splitted[1]); } $number = str_replace(array('.', '-'), '', $number); $sign = ($x < 0) ? '-' : ''; if ($exp > 0) { $zeros = str_repeat('0', abs($exp) - $len_after_dot); $s = $sign . $number . $zeros; } else { $zeros = str_repeat('0', abs($exp) - 1); $s = $sign . '0.' . $zeros . $number; } return $s; }
Михаил (@sequeller), мы обнаружили что Ваше сообщение больше чем наполовину состоит из кода. Рекомендуем сохранять примеры кода на внешних источниках, например, https://paste.laravel.io
это с gavnocoderu?
в общем, посмотри вот тут https://github.com/ccxt/ccxt/blob/master/php/test/base/test_number.php , что-нить полезное найдёшь для себя точно
этот код переведён с js на php автоматически, так что где-то да
что это вообще такое? чтоб ешки переводить, так.. эм.. number format $number = 9.01E-6; echo number_format($number, 6); // 0.000009
та уже bcmath там удобнее сразу пресижн указывать в расчетах, та написал хелпер для получения пресижна, плохо, что бинанс сразу не отдает в инфо о монетах
не, надо без округления, писал тоже свой хелпер
заюзай эту ccxt, хорошая либа. Сразу для всего, не только для бинанса.
Обсуждают сегодня