Я просматриваю код из Google Closure Library, и я нашел эту строку:
var isNegative = number < 0.0 || number == 0.0 && 1 / number < 0.0;
Я понял, что причиной такой изначально странно выглядящей контрольной проверки является идентификация -0 как отрицательной, но есть ли какая-то причина использовать 0.0 вместо 0?