bcadd имеет различную точность точек

На моем окне Windows, когда я бегу

  $SR = "0";
$SPR = "149";
$SR = bcadd($SR, $SPR);
echo "$SR";

Выводит 149.0000000000

Но когда я загружаю тот же код на мой хост Linux, вывод 149,

Зачем?

2

Решение

вероятно, «масштаб» отличается в двух средах.

Попробуйте установить масштаб с помощью bcscale Функция перед выполнением ваших операций, например:

bcscale(3);

$SR = "0";
$SPR = "149";
$SR = bcadd($SR, $SPR);
echo "$SR";

Или просто используйте третий параметр в bcadd установить масштаб:

$SR = "0";
$SPR = "149";
$SR = bcadd($SR, $SPR, 3);
echo "$SR";
3

Другие решения

Других решений пока нет …