В PHP есть отрицательный ноль с плавающей точкой, который идентично сравнивается с положительным нулем с плавающей точкой -0.0 === 0.0
, несмотря на то, что он печатает как разные строки. В PHP нет целого отрицательного нуля.
Я пишу расширенную версию функций округления и пытаюсь максимально воспроизвести собственное поведение PHP. Я пишу это по методологии TDD, поэтому мне нужен способ убедиться, что мой код соответствует собственным функциям PHP, возвращая отрицательный ноль, где PHP возвращает отрицательный ноль.
<?php
var_dump(ceil(-0.5));
double(-0)
Есть ли способ проверить -0.0
кроме:
- , преобразующего его в строку
(string)-0.0 === '-0'
- , сериализовавшего его
serialize(-0.0) === 'd:-0;'