Ошибка bcdiv(): Argument #1 ($num1) is not well-formed
Помогите пожалуйста пофиксить данную ошибку
Данные приходят с внешнего api в float формате, цель сделать из float строку и обрезать в конце нули (чтобы также прогонять подобные строки '0.5450000' => '0.545')
<?php
function to_string($value, $fix = 12) {
$string = bcdiv($value, 1, $fix);
return $string = $fix > 0 ? rtrim(rtrim($string, '0'), '.') : $string;
}
$result = to_string(1.5);
echo gettype($result) .' '. $result; // string 1.5
$result = to_string(1.0E-6); // Ошибка bcdiv(): Argument #1 ($num1) is not well-formed
echo gettype($result) .' '. $result;
Ответы (1 шт):
Автор решения: YaMus
→ Ссылка
Попробуйте number_format
<?php
function to_string($value, $fix = 12) {
$string = bcdiv(number_format($value), 1, $fix);
return $string = $fix > 0 ? rtrim(rtrim($string, '0'), '.') : $string;
}
$result = to_string(1.5);
echo gettype($result) .' '. $result;
$result = to_string(1.0E-6);
echo gettype($result) .' '. $result;