Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжаем рубрику Заметки по JavaScript, в которой мы успели поговорить о типах данных JavaScript, рассмотрели JavaScript числа и формы представления чисел в JavaScript, поговорили о JavaScript строках, а также о вставки JavaScript в HTML страницы.

В публикациях JavaScript строки и символы и JavaScript числа я уже затронул вопрос преобразования строк и чисел JavaScript в другие типы данных, но не останавливался подробно на этом вопросе. Данная публикация как раз и призвана исправить этот недостаток.

Преобразование число в строку JavaScript. Преобразование строка в число JavaScript.

Сегодня мы поговорим о преобразование число в строку JavaScript и строки в число JavaScript, поговорим о методах JavaScript, которые предназначены для преобразования строки в число JavaScript и числа в строку JavaScript. Следует сказать, что интерпретатор JavaScript – гибкая вещь, которая по мере надобности может преобразовывать строки и числа, это связано с тем, что JavaScript – это слабо типизированный  язык программирования. Начинающих программистов факт того, что JavaScript слабо типизирован обычно радует, но со временем и с приходящим опытом слабая типизация данных в JavaScript начинает раздражать, так как всплывают все минусы слабо типизированных языков. Конечно, кто-то и не почувствует эти недостатки языка JavaScript, так как многие его используются для создания слайд-шоу JavaScript и красивых анимационных эффектов. Ну да ладно, сегодня нас интересует преобразование строки в число JavaScript и число в строку JavaScript.

Преобразование число в строку JavaScript. JavaScript функции String (). JavaScript методы toString (), toFixed (), toExponential (), toPrecision ().

Начнем мы с преобразования число в строку JavaScript, так как данное преобразование более простое, а интерпретатор JavaScript может выполнять его автоматически по мере надобности, по мере обработки JavaScript кода.

В публикации JavaScript строки был раздел работа со строками, в которой я писал про конкатенацию строк JavaScript. Так вот, если JavaScript число используется в операции конкатенации, то оно автоматически будет преобразовано в строку JavaScript:

[php]

vorony = 12;

str = vorony + “ ворон на ветке.”

[/php]

Но, мы знаем, что строки в JavaScript могут быть пустыми и, следовательно, мы можем намеренно преобразовать число в строку JavaScript, просто сложив JavaScript число с пустой строкой:

[php]

n = 5;

str = n+””;

[/php]

В JavaScript имеются встроенная функция, которая позволяет явно преобразовать число в строку JavaScript – функция String (), не путайте функцию String () с JavaScript объектом String.

[php]

var str = String (число);

[/php]

В качестве аргумента функции String () следует передавать число или переменную, содержащую JavaScript число. В JavaScript имеется объект Number, у которого есть метод toString (), этот метод позволяет переводить число в строку JavaScript. Данный способ преобразования числа в строку имеет место быть из-за особенности JavaScript. Все JavaScript числа автоматически могут быть преобразованы в JavaScript объект Number. Благодаря этой особенности языка JavaScript мы и можем пользоваться JavaScript методом toString ().

Метод toString () может принимать один необязательный аргумент в виде числа, аргумент передается методу toString () в том случае, если нужно явно указать основание системы счисления, в которой записано число. По умолчанию принимается десятичная система счисления.

На примере будет лучше видно то, как работает JavaScript метод toString ():

[php]

var numb = 12;

new_string = numb.toString (2); //метод toString () вернет строку “1100”

new_str = numb.toString (8); //метод toString () вернет строку “014”

new_s=numb.toString (16);   //метод toString () вернет строку “0xC”

[/php]

Если вам необходимо указать количество знаков после запятой или представить число в строке в экспоненциальной форме, например, для отображения денежных единиц, то вы всегда сможете воспользоваться методом JavaScript объекта Number – toFixed (). JavaScript метод toFixed () переводит число в строку и при этом можно задать количество знаков после запятой. Метод toFixed () позволяет указать количество знаков после запятой, но не позволяет представлять JavaScript числа в экспоненциальной форме.

Для преобразования числа в строку существует JavaScript метод toExponential (), метод toExponential () относится к методам JavaScript объекта Number. Метод toExponential () преобразует JavaScript число в строку и записывает его в экспоненциальной форме, при этом можно указать количество знаков после точки. Обратите внимание: знак перед точкой всегда только один!

В JavaScript есть еще один метод, позволяющий преобразовывать число в строку. Метод toPrecision () JavaScript объекта Number. Метод toPrecision () позволяет преобразовывать число в строку в экспоненциальной форме, с указание количества разрядов в целой части числа.

Каждый из описанных методов: toPrecision (), toExponential (), toFixed (), выполняют округление чисел корректно.

А теперь пример:

[php]

var numb = 123456.789;

numb.toFixed (3); //вернет JavaScript строку “123456.789”

numb.toExponential (1); // вернет JavaScript строку “1.235e+5”

numb.toPrecision (7); // вернет JavaScript строку “123456.8”

[/php]

Более подробно все описанные JavaScript методы объекта Number будут описаны позже в статье посвященной методам объекта Number. А сейчас мы переходим к преобразованию строка в число JavaScript.

Преобразование строка в число JavaScript. JavaScript функция Number (). JavaScript методы parseInt () и parseFloat ().

Продолжаем разбираться с преобразованием типов данных JavaScript. Данный раздел будет посвящен преобразованию строки в число JavaScript. Так как с преобразованием число в строку JavaScript мы уже более-менее разобрались.

JavaScript интерпретатор, как и в случае с преобразованием число в строку, может выполнить преобразование строки в число JavaScript автоматически. Например, если у вас возникнет желание перемножить две JavaScript строки, то есть воспользоваться арифметическим оператором JavaScript:

[php]

var str = “1”;

var newstr =”2”;

var numb = str*newstr; // в результате получится JavaScript число 2

[/php]

Благодаря тому, что интерпретатор JavaScript может выполнять преобразования числа в строку автоматически, мы можем использовать другой арифметический оператор JavaScript, оператор вычитания. Просто вычитаем ноль из строки. Но, мы не можем использовать оператор сложения, так как в этом случае произойдет конкатенация строк JavaScript.

Преобразования строка в число JavaScript можно выполнять явно при помощи функций JavaScript, например, функция Number () позволяет преобразовывать JavaScript строку в число. Но, у этой функции есть один недостаток, она может выполнять преобразования только десятичных чисел.

[php]

var str = “123456”;

var n = Number (str);

[/php]

Используя функцию Number () будьте осторожны, так как нельзя допустить появление в строке других JavaScript символов, отличных от цифр, кроме пробелов, пробелы могут находиться как в начале строки, так и в конце строки.

В JavaScript есть две функции, с помощью которых можно выполнять преобразование число в строку и при этом не задумываться о символах в JavaScript строке, которые не являются цифрами. Функции JavaScript parseInt () и parseFloat (). Но, у функций parseInt () и parseFloat () есть один недостаток – они преобразовывают только те строковые символы в число, которые находятся в начале JavaScript строки.

JavaScript функция parseInt (). Из названия этой функции понятно, что она может работать только с целыми числами, то есть, на выходе функции parseInt () мы получим целые числа JavaScript. Функция parseInt () помимо того, что она может работать с целыми числами, она еще может представлять шестнадцатеричные числа, в том случае, если строка начинается с последовательности символов “0x” или “0X”, так что будьте аккуратны(про шестнадцатеричную систему счисления вы можете прочитать в публикации посвященной физической модели RGB). Функция parseInt () может принимать два аргумента, один из них обязательный, другой аргумент необязательный. В качестве первого аргумента JavaScript функция parseInt () принимает стоку, которую она преобразовывает в число, а в качестве второго аргумента функция parseInt () принимает основание системы счисления(от 2 до 36).

JavaScript функция parseFloat (). Как видно из имени функции parseFloat – она работает с вещественными числами, но функция parseFloat () может работать и с целыми числами. То есть, на выходе функции parseFloat () мы можем получить как вещественные числа, так и целые числа. Функция parseFloat () может работать только с десятичной системой счисления.

[php]

parseInt (“5 человек”); //вернет число 5

parseInt (“3.14”); //вернет число 3

parseInt (“111”, 2); //вернет число 7

parseFloat (234.567 метров); //вернет число 234.567

[/php]

Обе эти функции: parseInt () и parseFloat () преобразуют строки в числовой тип данных JavaScript и при этом они игнорируют все JavaScript символы, которые не являются цифрами! Обратите внимание: если вы опускаете второй аргумент для функции parseInt (), то по умолчанию считайте, что это 10, кроме случаев, когда JavaScript строка начинается с последовательности “0x” или “0X”.

Не забывайте: если число будет находиться в конце или в середине строки, то эти функции не смогут выполнить преобразования строка в число JavaScript.

На этом всё, спасибо за внимание, надеюсь, что был хоть чем-то полезен и до скорых встреч на страницах блога для начинающих вебразработчиков и вебмастеров ZametkiNaPolyah.ru. Не забываем комментировать и делиться с друзьями;)

Возможно, эти записи вам покажутся интересными


Выберете удобный для себя способ, чтобы оставить комментарий

This article has 2 comments

  1. Pingback: Сергей

    • Кирилл Reply

      Здравствуйте, Сергей! Тут все очень просто, нужно сделать явное преобразование строка в число JavaScript. Например:

      [php]

      var a = prompt ("Подсказка", "");

      var a = parseInt (a);

      [/php]

      Таким образом мы сделали явное преобразования строки в число JavaScript, и теперь в переменной a находится числовой тип данных JavaScript. То есть функция parseInt () позволяет явно преобразовать строки в числа в JavaScript

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Loading Disqus Comments ...