Код: Выделить всё
$x = 0.00002123; // let say I got this value from the other computation;
// this $x value will automatically turn to exponential
// value by php because it have few of leading 0 after the '.'
Шаблон, где PHP начинает преобразовать его реальное число в экспоненциальный номер: (см. Изображение ниже) < /p>
Как вы можете видеть с изображения выше, шаблон PHP начинает конвертировать реальное число в экспоненциальное Номер -это когда ведущий номер 0 в 4 раза -> 0,0000xxxxx (шаблон, где PHP начинает конвертировать в экспоненциальный). < /p>
Тогда скажи это Переменная $ x будет рассчитана на одну из функций PHP BCMATH: < /p>
# First, I work with float number
$calculation1 = bcadd($x,5,12); // adding variable $x to 5
$calculation2 = bcmul($x,4,12); // multiply variable $x to 4
$calculation3 = bcdiv($x,5,12); // divide variable $x to 5
# Second, I tried to work with string number
$y = (string) $x;
$calculation4 = bcadd($y,5,12);
$calculation5 = bcmul($y,4,12);
$calculation6 = bcmul($y,4,12);
< /code>
Результат оказывается ошибкой, здесь скриншот для переменной $ x: < /p>
И здесь результат оказывается ошибкой, здесь экрановый снимок для переменной $ y (Pass сначала строка, потому что Bcmath работает хорошо, работая со String):
Важная примечание :
- Так что это оказаться У Bcmath есть проблемы при работе с экспоненциальным значением, я не могу избежать этого экспоненциального значения, потому что PHP автоматически анализирует его по экспоненциальному числу, когда оно достигнет своего шаблона (я вижу изображение, которое я прикрепляю выше). Где переменная $ x, я получаю из разных расчетов, поэтому в реальном коде я не могу по -настоящему жестко закодировать ее в то, как я хочу.
Подробнее здесь: https://stackoverflow.com/questions/666 ... s-function