В C и C ++ оператор остатка принимает только целые операнды; в ECMAScript он также принимает операнды с плавающей точкой. Стандарты ECMA
Результат операции остатка с плавающей запятой, вычисляемой оператором%, не совпадает с операцией «остатка», определенной IEEE 754-2008.
Операция IEEE 754-2008 «остаток» вычисляет остаток от деления округления, а не усечения, поэтому его поведение не аналогично обычному оператору целочисленного остатка.
console.log(Math.floor(1%0.01)===0)
Вместо этого язык ECMAScript определяет% для операций с плавающей запятой, чтобы вести себя аналогично тому, как для оператора целочисленного остатка Java; это можно сравнить с библиотечной функцией C fmod.