Здравствуйте, дорогие читатели. Сегодня я напишу, как преобразовывается в javascript строка в число. Это делается с помощью функции Number
, сейчас я покажу ее использование на примере.
Также предлагаю посмотреть видео-версию этой статьи:
Немного о типах данных
Как вы знаете, в javascript есть числовой и строковый тип данных. Давайте попробуем создать две переменных, в которые сохраним числа, а потом выведем результат на экран.
var a = 5; var b = 12; document.write(a + b);
Каким будет результат? 17, что и вывел нам браузер. Итак, это числовые данные, поэтому браузер успешно их сложил. А теперь давайте создадим другие две переменные, в которые положим такие же значения, но в кавычках. Я напомню, все строки в javascript пишутся именно в кавычках.
var c = "5"; var d = "12"; document.write('<br>' + c + d);
Теперь браузер считает наши данные строками и если мы их сложим, то просто будут сложены две строки и мы получим 512, что не есть правильным результатом если бы складывались числа, но является правильным, если поставить вместе две строки.
Как преобразовать в javascript строку в число?
Тут все просто, создадим очередные две переменные, в которые запишем то же значение, что задано переменным c
и d
, но пропустив их через метод Number
:
var e = Number(c); var f = Number(d); document.write(e + f);
Если вы теперь попробуете вывести результат от этого сложения на экран, то выведется 17. Все потому, что наш метод успешно отработал и преобразовал строку в число. Хочу отметить, что если вы напишите так:
document.write('<br>' + e + f);
То на экран выведется 512, потому что при сложении строк и чисел ВСЕГДА результат преобразовывается в строку. Если вы хотите добавить перенос строки и при этом сохранить правильный результат, можно записать все в две строку или в одно следующим образом:
document.write('<br>' + (e + f));
Если взять числа в скобки, то они не будут преобразованы в строки и успешно сохранят свои свойства. Вот такая вот короткая статья у меня сегодня. Надеюсь, javascript стал для вас чуточку понятней.
Спасибо Михаил за очень полезную и нужную информацию. Вы очень помогаете мне, ну я думаю, что и многим также, своими на удивление короткими, но очень информативными статьями! С уважением, Валерий Бородин!!!