Отрицательные числа в JavaScript
Числа могут быть отрицательными. Для этого перед числом необходимо поставить знак минус:
let a = -1; alert(a); // выведет -1
Знак минус можно писать как к числам, так и к переменным:
let a = 1; let b = -a; // записали в b содержимое a с обратным знаком alert(b); // выведет -1
let a = 1; alert(-a); // выведет -1
Создайте переменную a со значением -100 . Выведите это значение на экран.
Создайте переменную a , запишите в нее какое-нибудь положительное или отрицательное число. Выведите на экран это число с обратным знаком.
Как перевести положительное число в отрицательное и наоборот на JS?
Как сделать так ,чтобы 0 не становился -0 при вызове функции с массивом содержащей 0? Спасибо.
invert([0,1,2,3,4,5]); (6) [-0, -1, -2, -3, -4, -5]
- Вопрос задан более трёх лет назад
- 23798 просмотров
Комментировать
Решения вопроса 4
Алексей Уколов @alexey-m-ukolov Куратор тега JavaScript
if(array[i] === «0»)
Строгое сравнение, следовательно, никогда не сработает, если передавать числа, а не строки.
array[i] = array[i] * (-1);
А эта строка вообще всегда безусловно выполняется.
function invert(array) < for (let i = 0; i < array.length; i++) < if (array[i] != 0) < array[i] = array[i] * -1; >> return array ; >

Ответ написан более трёх лет назад
Нравится 2 1 комментарий
DPS_ninja @DPS_ninja Автор вопроса
Спасибо! Ваш вариант больше нравится! 🙂

У вас строгое сравнение с «0»
Уберите кавычки для нуля вот здесь:
if(array[i] === «0») <
Ответ написан более трёх лет назад
Нравится 1 3 комментария
DPS_ninja @DPS_ninja Автор вопроса
function invert(array) <
for (let i = 0; i < array.length; i++) <
if(array[i] == 0) <
array[i] = array[i] * 1;
>
array[i] = array[i] * (-1);
>
return array ;
>
undefined
invert([0,1,2,3,4,5]);
(6) [-0, -1, -2, -3, -4, -5]

array[i] = array[i] * (-1);
Замените на
else <
array[i] = array[i] * (-1);
>
DPS_ninja @DPS_ninja Автор вопроса
Кратко о себе: Я есть
Можно просто написать
for (let i = 0; i < array.length; i++) array[i] = -array[i] || 0;
Ответ написан более трёх лет назад

вы в консольке js давно выполняли -1*0 ?

-0 практически то же самое что и 0, вот только если делить на 0, будет Infinity, а если делить на -0, будет -Infinity. Разница в бесконечность.
Decadal, Точно - такая распространенная операция - делить на нуль, как я мог это упустить. (поправил код, спасибо)

Дмитрий, ну да ну да, программированию ж точность не нужна, это не математика, тут же можно забивать на мелочи, не ставить фигурные скобки для условия с одним действием, опускать типы и всё такое. Да?
Math.abs()
Поскольку метод abs() является статическим методом объекта Math , вы всегда должны использовать его как Math.abs() , а не пытаться вызывать метод на созданном объекте Math (поскольку объект Math не является конструктором).
Примеры
Пример: поведение метода Math.abs()
Метод вернёт NaN , если в него передать нечисловую строку или значение undefined /ничего не передавать. Метод вернёт 0, если в него передать значение null .
.abs("-1"); // 1 Math.abs(-2); // 2 Math.abs(null); // 0 Math.abs(""); // 0 Math.abs([]); // 0 Math.abs([2]); // 2 Math.abs([1, 2]); // NaN Math.abs(>); // NaN Math.abs("string"); // NaN Math.abs(); // NaN
Спецификации
| Specification |
|---|
| ECMAScript Language Specification # sec-math.abs |
Совместимость с браузерами
BCD tables only load in the browser
Смотрите также
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
This page was last modified on 6 янв. 2024 г. by MDN contributors.
Your blueprint for a better internet.
MDN
Support
- Product help
- Report an issue
Our communities
Developers
- Web Technologies
- Learn Web Development
- MDN Plus
- Hacks Blog
- Website Privacy Notice
- Cookies
- Legal
- Community Participation Guidelines
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2024 by individual mozilla.org contributors. Content available under a Creative Commons license.
Как из отрицательного числа сделать положительное js
Профиль
Группа: Участник
Сообщений: 161
Регистрация: 5.8.2003
Репутация: нет
Всего: 1
Подскажите пожалуйста функция которая переводит отрицательное число в положительное, например есть число -954212 мне нужно сделать из него 954212
З.Ы. Не кидайте пож. в меня гнилыми помидорами
| Дата 14.12.2004, 18:02 (ссылка) | (нет голосов) Загрузка . |
Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004
Репутация: 2
Всего: 71
number:=abs(number);
| Дата 14.12.2004, 18:11 (ссылка) | (нет голосов) Загрузка . |
Профиль
Группа: Участник
Сообщений: 161
Регистрация: 5.8.2003
Репутация: нет
Всего: 1
Спасибо, тема закрыта
| Дата 14.12.2004, 18:11 (ссылка) | (нет голосов) Загрузка . |
Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон
Репутация: 1
Всего: 5
или можно так:
number:=number*(-1);
Работай на себя
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
| Дата 14.12.2004, 18:12 (ссылка) | (нет голосов) Загрузка . |
Профиль
Группа: Участник
Сообщений: 161
Регистрация: 5.8.2003
Репутация: нет
Всего: 1
Тоже спасибо буду знать
| Дата 14.12.2004, 18:12 (ссылка) | (нет голосов) Загрузка . |
Профиль
Группа: Участник
Сообщений: 806
Регистрация: 8.12.2004
Репутация: 5
Всего: 7
number:=-number;
number:=-1*number;
Сдерживаю себя от хорошего броска уже разложившейся большой такой помидориной. %:-)
| Дата 14.12.2004, 18:13 (ссылка) | (нет голосов) Загрузка . |
Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер
Репутация: 1
Всего: 360
(not -954212)+1
| Дата 14.12.2004, 18:13 (ссылка) | (голосов: 0) Загрузка . |
chislo:=chislo*(-1); или
chislo:=0-chislo;
| Дата 14.12.2004, 18:14 (ссылка) | (нет голосов) Загрузка . |
Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер
Репутация: 1
Всего: 360
получше моего будет
| Дата 14.12.2004, 18:22 (ссылка) | (нет голосов) Загрузка . |
Профиль
Группа: Участник
Сообщений: 208
Регистрация: 8.12.2004
Где: Волгоград, Россия
Репутация: 1
Всего: 1
про 0-chislo написал я, Vladimir13, просто не посмотрел что не зарегестрировался.
Лучший метод - метод тыкаобращаться по адресу: mvdr
| Дата 14.12.2004, 18:23 (ссылка) | (нет голосов) Загрузка . |
Профиль
Группа: Модератор
Сообщений: 20567
Регистрация: 8.4.2004
Где: Зеленоград
Репутация: нет
Всего: 453
О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.
| Дата 14.12.2004, 18:29 (ссылка) | (нет голосов) Загрузка . |
Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер
Репутация: 1
Всего: 360
| Цитата(Akina @ 14.12.2004, 17:23) |
| x=x*sign(x) |
Ага, а может sqrt(sqr(x)) ?
Ну , не увлекайтесь
0-chislo лучший метод. Выполняется за такт Быстрее просто невозможно сделать.
| Дата 14.12.2004, 18:34 (ссылка) | (нет голосов) Загрузка . |
Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004
Репутация: 2
Всего: 71
| Цитата(sergej @ 14.12.2004, 18:29) |
| 0-chislo лучший метод |
это только в том случае, если число гарантированно отрицательное
| Дата 14.12.2004, 18:49 (ссылка) | (нет голосов) Загрузка . |
Профиль
Группа: Участник
Сообщений: 208
Регистрация: 8.12.2004
Где: Волгоград, Россия
Репутация: 1
Всего: 1
так на это дело можно условие поставить: if a<0 then a:=0-a;
0>
хотя в условии стоит, что число гарантировано отрицательное
Лучший метод - метод тыкаобращаться по адресу: mvdr
| Дата 14.12.2004, 18:50 (ссылка) | (нет голосов) Загрузка . |
Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань
Репутация: 8
Всего: 24
| Цитата(Perchilla @ 14.12.2004, 18:34) |
| это только в том случае, если число гарантированно отрицательное |
Внатуре.
Лучший метол, это который дал Perchilla, ещё в самом начале, через модуль.
И дальше не было необходимости всё кидать, все остальные методы, хуже и бесполезные, т.к. автор уже скорее всего всё сделал что ему было надо, а больше врядли кому понадобится ответ на такой сложный вопрос.