Помимо разницы типов, уже отмеченной Джоном Б., есть и существенная разница в семантике.Math.IEEEremainder(x, y)
возвращает x - n * y
, где n
является ближайшим целым числом к x / y
(принимая четное целое в случае связи), тогда как x % y
возвращает x - n * y
, где n
является целочисленной частью x / y
(т. е. n
является результатом округления истинного значения x / y
до нуля, а не до ближайшего).
Чтобы проиллюстрировать разницу: Math.IEEEremainder(9.0, 5.0)
будетбыть -1.0
, так как ближайшее целое число к 9.0 / 5.0
равно 2
, а 9.0 - 2 * 5.0
равно -1.0
.Но 9.0 % 5.0
будет 4.0
, поскольку целая часть 9.0 / 5.0
равна 1
, а 9.0 - 1 * 5.0
равна 4.0
.
Вот официальная документация для Math.IEEEremainder
.