- Перетворення число в рядок JavaScript. JavaScript функції String (). JavaScript методи toString (), toFixed (), toExponential (), toPrecision ().
- Перетворення рядок в число JavaScript. JavaScript функція Number (). JavaScript методи parseInt () і parseFloat ().
Привіт, шановні відвідувачі мого скромного блогу для початківців Вебразработчик і 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 функції String (). JavaScript методи toString (), toFixed (), toExponential (), toPrecision ().
Зміст статті:
Почнемо ми з перетворення число в рядок JavaScript, так як дане перетворення більш просте, а інтерпретатор JavaScript може виконувати його автоматично у міру потреби, у міру обробки JavaScript коду.
У публікації JavaScript рядка був розділ робота з рядками, в якій я писав про конкатенацію рядків JavaScript. Так ось, якщо JavaScript число використовується в операції конкатенації, то воно автоматично буде перетворено в рядок JavaScript:
vorony = 12;
str = vorony + "вороннаветке."
Але, ми знаємо, що рядки в JavaScript можуть бути порожніми і, отже, ми можемо навмисно перетворити число в рядок JavaScript, просто склавши JavaScript число з символом нового рядка:
В JavaScript є вбудована функція, яка дозволяє явно перетворити число в рядок JavaScript - функція String (), не плутайте функцію String () з JavaScript об'єктом String.
var str = String (число);
Як аргумент функції String () слід передавати число або змінну, що містить JavaScript число. В JavaScript є об'єкт Number, у якого є метод toString (), цей метод дозволяє переводити число в рядок JavaScript. Даний спосіб перетворення числа в рядок має місце бути через особливості JavaScript. Усе JavaScript числа автоматично можуть бути перетворені в JavaScript об'єкт Number. Завдяки цій особливості мови JavaScript ми і можемо користуватися JavaScript методом toString ().
Метод toString () може приймати один необов'язковий аргумент у вигляді числа, аргумент передається методу toString () в тому випадку, якщо потрібно явно вказати підставу системи числення, в якій записано число. За замовчуванням приймається десяткова система числення.
На прикладі буде краще видно те, як працює JavaScript метод toString ():
var numb = 12;
new_string = numb. toString (2); // метод toString () поверне рядок "1100"
new_str = numb. toString (8); // метод toString () поверне рядок "014"
new_s = numb. toString (16); // метод toString () поверне рядок "0xC"
Якщо вам необхідно вказати кількість знаків після коми або представити число у рядку в експоненційної формі, наприклад, для відображення грошових одиниць, то ви завжди зможете скористатися методом JavaScript об'єкта Number - toFixed (). JavaScript метод toFixed () переводить число в рядок і при цьому можна задати кількість знаків після коми. Метод toFixed () дозволяє вказати кількість знаків після коми, але не дозволяє представляти JavaScript числа в експоненційної формі.
Для перетворення числа в рядок існує JavaScript метод toExponential (), метод toExponential () відноситься до методів JavaScript об'єкта Number. Метод toExponential () перетворює JavaScript число в рядок і записує його в експоненційної формі, при цьому можна вказати кількість знаків після точки. Зверніть увагу: знак перед точкою завжди тільки один!
В JavaScript є ще один метод, що дозволяє перетворювати число в рядок. Метод toPrecision () JavaScript об'єкта Number. Метод toPrecision () дозволяє перетворювати число в рядок в експоненційної формі, із зазначенням кількості розрядів в цілій частині числа.
Кожен з описаних методів: toPrecision (), toExponential (), toFixed (), виконують округлення чисел коректно.
А тепер приклад:
var numb = 123456.789;
numb. toFixed (3); // поверне JavaScript рядок "123456.789"
numb. toExponential (1); // поверне JavaScript рядок "1.235e + 5"
numb. toPrecision (7); // поверне JavaScript рядок "123456.8"
Більш докладно всі описані JavaScript методи об'єкта Number будуть описані пізніше в статті присвяченій методам об'єкта Number. А зараз ми переходимо до перетворення рядок в число JavaScript.
Перетворення рядок в число JavaScript. JavaScript функція Number (). JavaScript методи parseInt () і parseFloat ().
Продовжуємо розбиратися з перетворенням типів даних JavaScript. Даний розділ буде присвячений перетворенню рядки в число JavaScript. Так як з перетворенням число в рядок JavaScript ми вже більш-менш розібралися.
JavaScript інтерпретатор, як і в випадку з перетворенням число в рядок, може виконати перетворення рядка в число JavaScript автоматично. Наприклад, якщо у вас виникне бажання перемножити дві JavaScript рядки, тобто скористатися арифметичним оператором JavaScript:
var str = "1";
var newstr = "2";
var numb = str * newstr; // в результаті вийде JavaScript число 2
Завдяки тому, що інтерпретатор JavaScript може виконувати перетворення числа в рядок автоматично, ми можемо використовувати інший арифметичний оператор JavaScript, оператор віднімання. Просто віднімаємо нуль з рядка. Але, ми не можемо використовувати оператор складання, так як в цьому випадку відбудеться конкатенація рядків JavaScript.
Перетворення рядок в число JavaScript можна виконувати явно за допомогою функцій JavaScript, наприклад, функція Number () дозволяє перетворювати JavaScript рядок в число. Але, у цій функції є один недолік, вона може виконувати перетворення тільки десяткових чисел.
var str = "123456";
var n = Number (str);
Використовуючи функцію 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 () може працювати тільки з десятковою системою числення.
parseInt ( "5человек"); // поверне число 5
parseInt ( "3.14"); // поверне число 3
parseInt ( "111", 2); // поверне число 7
parseFloat (234.567 метрів); // поверне число 234.567
Обидві ці функції: parseInt () і parseFloat () перетворять рядки в числовий тип даних JavaScript і при цьому вони ігнорують всі JavaScript символи, які не є цифрами! Зверніть увагу: якщо ви опускаєте другий аргумент для функції parseInt (), то за замовчуванням вважайте, що це 10, крім випадків, коли JavaScript рядок починається з послідовності "0x" або "0X".
Не забувайте: якщо число буде знаходитися в кінці або в середині рядка, то ці функції не зможуть виконати перетворення рядок в число JavaScript.
На цьому все, спасибі за увагу, сподіваюся, що був хоч чимось корисний і до швидких зустрічей на сторінках блогу для початківців Вебразработчик і вебмайстрів ZametkiNaPolyah.ru . Не забуваємо коментувати і ділитися з друзями;)