диапазон чисел с плавающей точкой в ​​php. -0 плавает?

когда я конвертирую строку '-0' в float, он возвращает тип float -0

пример

 $x = '-0'; $y = (float)$x; 

result => float -0

почему -0 – число с плавающей точкой?

Стандарт IEEE 754, в котором почти все языки программирования реализуют числа с плавающей запятой, имеет значение +0 и a -0 .

Для большинства операций +0 и -0 можно использовать взаимозаменяемо.

Тем не менее, операции с ошибкой до бесконечности, используйте +0 или -0 для перехода на + Infinity и -Infinity.

Поскольку -0 – допустимое число с плавающей запятой, имеет смысл, что отбрасывание -0 в float будет делать точно так, как вы просили — возвращение числа с плавающей запятой со значением точно -0 .

Мы все знаем, что все целые числа являются плавающими. И в PHP отсюда

Целые числа могут быть указаны в десятичной (базовая 10), шестнадцатеричной (базовая 16), восьмеричной (базовая 8) или двоичной (база 2) нотации, необязательно предшествующей знаку (- или +),

Итак, -0 – это int который обычно является float