Приведение типов javascript.

Оцените материал
(4 голосов)

Здравствуйте! В этом уроке я хотел бы заострить ваше внимание на таком вопросе как приведение типов в Javascript. Поскольку язык JavaScript является не строготипизированным языком программирования, то необходимо разобраться как  в нем приводятся типы данных. Например вот здесь:

var num1 = "49";
var num2 = "3";
var result = num1 + num2;
console.log(result); //493

В данном примере обе переменные - это строки, а строки ведут себя несколько иначе и несмотря что к ним применяется операция арифметического сложения и казалось бы ожидаемый результат 52, но строки будут просто склеиваться или конкатенироваться и мы получим в итоге 493.

Приведение типов JavaScript

 

 

Если вы хотите строки именно складывать для этого их надо преобразовать в число - это делает функция parseInt():

var num1 = "49";
var num2 = "3";
var res = parseInt(num1) + parseInt(num2);
console.log(result); // 52

Ну а для перевода строк в числа с запятой то есть дробные применяется такая функция как parseFloat():

var num = "47.07";
var num2 = "3.83";
var res = parseFloat(num1) + parseFloat(num2);
console.log(result); //50.90

В случае если строка имеет, как текст, так и числа "456adress". Функция parseInt() попытается найти число, а строку отбросить:

var str1 = "456address";
var num = parseInt(str1);
console.log(num2); // 456

А вот ежели функции не удастся выполнить преобразование, то она вернет значение NaN (Not a Number), это значение говорит о том, что строка не представляет число, и поэтому не может быть преобразована.

Для того чтобы проверить, является ли переменная числом или нет существует функция isNaN() - возвращает true если не число, а если число вернет false. Да вот так все немного запутано.

var str1 = "script";
var str2 = "22";
var res = isNaN(str1);
console.log(res); // true - str1 не является числом
res = isNaN(str2);
console.log(res); //  false - num2 - это число

Хочется отметить одну особенность функции parseInt(), а именно при перводе есть возможность указать сиситему счисления в которую надо переводить и она переведет в заданную систему счисления:

var str11 = "111";
var str2 = parseInt(num1, 2);
console.log(str2); // 7

В результате получим 7, так как число 111 - это 7 в десятичной системе.

Ну и на закрепление напишем небольшой скрипт, в котором приведем пример преобразования переменнных:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>JavaScript сценарий</title>
</head>
<body>
<script>
    var strSumVklad = prompt("Введите пожалуйста сумму вклада", 1000);
    var strPercentStavka = prompt("Введите процентную ставку", 10);
    var summa = parseInt(strSumVklad);
    var procenty = parseInt(strPercentStavka);
    summa = summa + summa * procenty / 100;
    document.write("После начисления процентов ваша сумма вклада составит: " + summa);
</script>
</body>
</html>

Просмотреть  пример

Видел л приведении типов в JavaScript

Прочитано 305 раз Последнее изменение Четверг, 24 августа 2017 15:58
Другие материалы в этой категории:
Понравилась запись? Подпишитесь на обновления по почте:

Нетология

TemplateMonster

Поиск по сайту

Связной трэвел

Google+