|
|
|
|
<?php
echo 94.8 - 95.7;
echo '<br />';
echo 94.8 - 95.6;
?>
|
На сервере этот скрипт выдает:
На локальной машине:
Подскажите что и где надо подкрутить в настройках сервера, чтобы испаравить этот глюк? | |
|
|
|
|
|
|
|
для: tAleks
(13.12.2010 в 12:50)
| | ничего :)
всё в пределах нормы - это же вещественные числа :) | |
|
|
|
|
|
|
|
для: Trianon
(13.12.2010 в 13:21)
| | А почему на локальной машине нет такого глюка? | |
|
|
|
|
|
|
|
для: tAleks
(13.12.2010 в 20:32)
| | я не вижу никакого глюка.
Особенности представления вещественных чисел, равно как и то, почему у них иногда на ровном месте возникают хвосты вроде n.nnn9999999n или n.nnn0000000n, я разжевывал в этом форуме с полдесятка раз.
Если Вы считаете аналоговые величины - ничего страшного у Вас не произойдет.
Если деньги - сам себе злобный буратино. Деньги в вещественных числах не представляют. | |
|
|
|
|
|
|
|
для: Trianon
(13.12.2010 в 20:44)
| | > Особенности представления вещественных чисел, равно как и то, почему у них иногда на ровном месте возникают хвосты вроде n.nnn9999999n или n.nnn0000000n, я разжевывал в этом форуме с полдесятка раз.
Дайте, плиз, ссылку на тему.
>Деньги в вещественных числах не представляют.
А в каких числах представляют деньги? | |
|
|
|
|
|
|
|
для: tAleks
(15.12.2010 в 17:02)
| | >А в каких числах представляют деньги?
зависит от требуемой точности.
К примеру, если требуется точность "до копейки" -можно в виде целого числа копеек держать.
А при выводе добавлять точку перед второй справа цифрой.
Но не стоит забывать и о диапазоне представления - в стадартное целое 32бит сумма сильно больше 20 миллионов просто не войдет.
В MySQL есть тип DECIMAL, в котором и величину и точность можно задать явно.
UPD.
Между прочим, cheops как-то говорил, что в php.ini есть параметр precision ... | |
|
|
|
|
|
|
|
для: tAleks
(13.12.2010 в 12:50)
| | round'ом округляй если не нравится | |
|
|
|
|
|
|
|
для: Красная_шляпа
(13.12.2010 в 13:52)
| | round'ом придется все скрипты перекопать, а хочется, чтобы сприпты не кавырять. | |
|
|
|