PHP 8.5.2 Released!

fdiv

(PHP 8)

fdivДелит числа по правилам стандарта IEEE 754

Описание

fdiv(float $num1, float $num2): float

Функция возвращает в виде числа с плавающей точкой результат деления числа num1 на число num2. Функция возвращает положительную бесконечность INF, отрицательную бесконечность -INF или нечисло NAN, если число num2 равно нулю.

Обратите внимание, что сравнение нечисла NAN не будет равно == или идентично === другому значению, включая само нечисло.

Список параметров

num1

Делимое.

num2

Делитель.

Возвращаемые значения

Функция возвращает число с плавающей точкой — результат деления числа num1 на число num2.

Примеры

Пример #1 Пример деления чисел по правилам стандарта IEEE 754 функцией fdiv()

<?php

var_dump
(fdiv(5.7, 1.3)); // float(4.384615384615385)
var_dump(fdiv(4, 2)); // float(2)
var_dump(fdiv(1.0, 0.0)); // float(INF)
var_dump(fdiv(-1.0, 0.0)); // float(-INF)
var_dump(fdiv(0.0, 0.0)); // float(NAN)

?>

Смотрите также

  • / — Оператор деления
  • intdiv() - Делит два числа без остатка — Целочисленное деление
  • fmod() - Возвращает дробный остаток от деления по модулю
  • fpow() - Возводит число в степень по правилам стандарта IEEE 754

Добавить

Примечания пользователей 1 note

up
0
rmaslo at post dot cz
2 days ago
Subject: Compatibility for older PHP

Text: Equivalent for versions before 8.0. Handles the sign of zero for INF results.

<?php
if (!function_exists('fdiv')) {
    function fdiv(float $a, float $b): float
    {
        if (is_nan($a) || is_nan($b)) return NAN;
        if ($b != 0.0) return $a / $b;
        if ($a == 0.0) return NAN;

        $check = function ($v) {
            if ($v > 0) return 1;
            if ($v < 0) return -1;
            return pack('d', (float)$v) === pack('d', 0.0) ? 1 : -1;
        };

        return ($check($a) === $check($b)) ? INF : -INF;
    }
}
?>
To Top