Возвращение «читаемого» числа в PHP - PullRequest
1 голос
/ 11 марта 2020

Я пытаюсь получить результат математической операции с маленькими числами (максимум 8 десятичных знаков), я получаю результат с плавающей запятой, но в формате, в котором другие числа остаются с ошибкой:

$a = round($x, 8); //returns 0.0478674, that's correct
$b = round($y,8); //returns 0.04786261, that's correct
$z = $a - $b; //z returns 4.7899999999976E-6, and not ‭0.00000479‬ as I was expecting

Я тоже пробовал

$w = round($z,8); //but w returns 4.79E-6, and not 0.00000479‬ as I was expecting

Моя проблема в том, что число 4.7899999999976E-6 выдает ошибку в других вызовах, и это уродливое число для показа пользователю.

Как я могу сделать это число 0.00000479?

Ответы [ 2 ]

1 голос
/ 11 марта 2020

вы можете использовать число_формат :

$w = number_format($z,8);
0 голосов
/ 11 марта 2020

number_format должен делать то, что вам нужно, из справки: https://www.php.net/manual/en/function.number-format.php

Для вашего конкретного c требования здесь:

$w = number_format($z,8);
...