Простой вопрос: как проверить, является ли значение больше или равно положительному нулю (+0
)? Или как проверить, больше ли отрицательного нуля (-0
)?
val >= 0
или val >= +0
или val > -0
не помогут.
(Мне это нужно для обработки вывода moments.js diff().)
Благодарю вас!
(+0) === (-0) = true
- person adeneo   schedule 28.12.2014-1/Infinity
- person Karoly Horvath   schedule 28.12.2014-1 * 0
- person adeneo   schedule 28.12.2014moment
, безусловно, не различает их. - person adeneo   schedule 28.12.20141/-0
отличается от1/0
, но вопрос заключается в сравнении некоторого конкретного числа с одним (или обоими)0
и-0
. Таким образом,1/-0
также не больше, чем-0
, поэтому результат сравнения тот же. - person Pointy   schedule 28.12.2014value
и вы хотите проверить, больше ли оно или равно+0
,value >= +0
не даст правильного результата, когдаvalue
равно-0
, но1 / value > 0
будет дать правильный результат. - person JLRishe   schedule 28.12.2014moment.diff
дает вам разницу между двумя датами, отрицательные значения говорят вам, что одна дата предшествует другой и т. д. Когда функция возвращает ноль, между датами нет разницы, не имеет значения, стоит ли знак минус перед это, если что-то не работает в коде OP, это не проблема, и даже если это так, это можно решить, просто выполнивMath.abs( val )
, поскольку это не имеет значения - person adeneo   schedule 28.12.2014moment.diff
(например, с аргументомdays
) действительно возвращает+0
или-0
в зависимости от того, предшествует ли одна дата другой или после нее. - person Michael Liu   schedule 28.12.2014diff
недостаточно конкретен, чтобы дать разницу, но разница все же есть, но ноль по-прежнему означает, что в сравнении, которое вы делаете сdiff
, нет разницы. Другими словами, он используется неправильно, и если вам просто нужно проверить, предшествует ли одна дата другой, вы должны сделатьmoment(a).unix() > moment(b).unix()
, а не использоватьdiff
вообще. - person adeneo   schedule 28.12.2014-0>=0
должен бытьtrue
. - person Pointy   schedule 28.12.2014+0
или больше+0
, вы можете использовать1 / value > 0
, но неvalue >= +0
. Тем не менее, я согласен с мнением, что это различие не должно иметь значения для сравнения дат. Возможно, ОП мог бы сказать нам, почему это важно здесь? Звучит как проблема XY. - person JLRishe   schedule 28.12.2014+0
/-0
. Я бы не стал полагаться на это в своем собственном коде. - person Pointy   schedule 28.12.2014-0
, — это просто случайность из-за вычислений, выполненных с отметками времени, а затем округленных до заданной точности. - person adeneo   schedule 28.12.2014+0
и-0
разница в Moment.js является ошибкой и будет удалена в будущем? Мне нужно знать, является ли данная строка (например, 2014-12-28) будущей датой (завтра и т. д.). Я мог бы сделать это, чтобы избежать +/-0: jsfiddle.net/3hb65204/5. Как вы думаете, это лучшее решение? Спасибо. - person koubic   schedule 28.12.2014