var x =2000000 x = parseInt(2*x/(Math.abs(x)+0.00001)); alert(x) |
Цитата:
Пример без |0 function sign(x) { return x/Math.abs(x) ; } alert(sign(0)) ; |
Вспоминаем математику. Знаком + является и число 0. Так же оно и является отрицательным. Но в математике это опускают. Так что
sign = x<0 ? -1:1; |
Цитата:
Вот так для понятности: Math.sign = function(x) { return x / abs(x) || 0; } |
Цитата:
Цитата:
|
Цитата:
Цитата:
|
консоли всё равно вроде
0===-0 //true |
Цитата:
Отличить от +0 можно так: 0 === -0;// true 1/0 === 1/-0;// false В es6 будет Object.is (по сути вот это http://es5.javascript.ru/x9.html#x9.12), который так же будет их различать: Object.is(0, -0);// false |
дык при делении на 0 бесконечность будет а не 0
а у бесконечности да, есть знак |
Я вот чего понять не могу - зачем изобретать свою математику?
|
Часовой пояс GMT +3, время: 00:39. |