Игра на «Морской Бой» на JavaScript: «Простая Игра» и «Игра для Двоих»
Yutex - Платный хостинг PHP.
Advego.ru - система покупки и продажи контента для сайтов, форумов и блогов

Технические фишки инфобизнеса 2014

Статьи для сайтов!!!
Функция isNaN - Число или не число Функции parseInt, parseFloat и Number - Конвертация строк Метод toFixed - Число знаков после запятой

Функции parseInt, parseFloat и Number - Конвертация строк и возврат целых и дробных чисел или NaN

Функции и методы числовых объектов - Объект Number

Урок №2 Функции parseInt, parseFloat и Number - Конвертация строк

Количество просмотров: 715

Рассмотрим еще несколько функций, встроенных в Javascript, которые работают с числовыми объектами типа Number (или просто с числами). Это функции parseInt, parseFloat и Number.

Функция parseInt возвращает из строки ЦЕЛОЕ число или NaN. parseFloat возвращает дробный число. А функция Number конвертирует true в 1, а false в 0. Далее об этом подробно и по порядку...

Функция parseInt - Возвращает число

Функция parseInt - Возвращает число

Функция parseInt конвертирует строку в число (она возвращает число).

Функция работает в разных системах счисления.

Для примера воспользуемся всем знакомой - десятичной системой счисления.

Допустим, есть число, по ошибке заключенное в кавычки, то есть по факту являющееся строкой. Необходимо распознать число в строке и вернуть его. Это делает функция parseInt.

<script type="text/javascript">

var number = "35"; /* Строка */
var newNumber = parseInt(number); /* Функция parseInt распознает число в строке и возвращает его */

document.write(newNumber + 1); /* Для проверки, что в newNumber содержится число, прибавляем единицу */

</script>

Функция parseInt - Исключает текст ПОСЛЕ числа и возвращает ТОЛЬКО число

Функция parseInt - Исключает текст ПОСЛЕ числа и возвращает ТОЛЬКО число

Функция parseInt удобна тем, что если в строке после числа есть текст, то она его исключает и возвращает только число.

<script type="text/javascript">

var number = "35 лет"; /* Число расположено в НАЧАЛЕ строки */
var newNumber = parseInt(number); /* Функция parseInt исключает текст и возвращает ТОЛЬКО число */

document.write(newNumber);

</script>

Функция parseInt - Возвращает NaN

Функция parseInt - Возвращает NaN

Если же в строке текст расположен перед числом, то функция parseInt возвращает NaN, что означает - «не число».

<script type="text/javascript">

var number = "Мой возраст - 35 лет"; /* Число расположено НЕ В НАЧАЛЕ строки */
var newNumber = parseInt(number); /* Функция parseInt возвращает NaN */

document.write(newNumber);

</script>

Функция parseInt - Возвращает ЦЕЛОЕ число

Функция parseInt - Возвращает ЦЕЛОЕ число

Есть еще одно полезное свойство функции parseInt - она возвращает только целое число.

То есть, если рассмотреть работу функции parseInt с дробным десятичным числом, например, 35,75, то она вернет целую часть числа, то есть 35.

<script type="text/javascript">

var number = 35.75; /* Дробное десятичное число */
var newNumber = parseInt(number); /* Функция parseInt возвращает ЦЕЛОЕ число */

document.write(newNumber);

</script>

Еще раз коротко опишем основные свойства функции parseInt:

  • Функция parseInt распознает число в строке и возвращает его.
  • Если число расположено в начале строки, то функция parseInt исключает текст и возвращает только число.
  • Если число расположено НЕ в начале строки, то функция parseInt возвращает NaN (не число).
  • Функция parseInt возвращает только целое число (дробная часть числа исключается).

Функция parseFloat - Возвращает дробное число

Функция parseFloat - Возвращает дробное число

Функция parseFloat аналогична функции parseInt. Но есть одно отличие - parseFloat возвращает дробное число.

<script type="text/javascript">

var number = "35.75"; /* Строка */
var newNumber = parseFloat(number); /* Функция parseFloat - Возвращает дробное число */

document.write(newNumber);

</script>

Функция parseFloat вернула дробное число 35.75, в то время как parseInt в этом случае вернула бы целое число 35.

Функция Number - Преобразовывает ИСТИНУ в 1, а ЛОЖЬ в 0

Функция Number - Преобразовывает ИСТИНУ в 1, а ЛОЖЬ в 0

Функция Number похожа ну функцию parseInt. Но в отличие от нее она не может вернуть число, если в строке есть текст (причем, не важно - где расположено число - в начале строки или нет).

<script type="text/javascript">

var number = "35 лет"; /* Число расположено в НАЧАЛЕ строки */
var newNumber = Number(number); /* Функция Number возвращает NaN */

document.write(newNumber);

</script>

Функция Number вернула NaN, в то время как parseInt в этом случае вернула бы целое число 35.

Зато у функции Number есть другая возможность. Она преобразовывает true (ИСТИНУ) в 1, а false, то есть ЛОЖЬ - в 0.

<script type="text/javascript">

var no_1 = true; /* переменная no_1 содержит ИСТИНУ */
var no_2 = false;/* переменная no_2 содержит ЛОЖЬ */

var result_1 = Number(no_1); /* Функция Number преобразует true в 1 */
var result_2 = Number(no_2); /* Функция Number преобразует false в 0 */

document.write(result_1 + " - это ИСТИНА <p>");
document.write(result_2 + " - это ЛОЖЬ");

</script>

Домашнее задание - Функции parseInt, parseFloat и Number

Домашнее задание - Функции parseInt, parseFloat и Number

Выполните домашнее задание по пройденному уроку, в котором рассматривалась работа с Функциями parseInt, parseFloat и Number.

Напишите функцию, которая получает в качестве параметра массив и перебирает его на предмет преобразования строк, начинающихся с числа в обычные числа.

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

Массив для задания:

var myArray = ["100 попугаев", "201 рубль", "624 доллара", "109 кроликов", "33 весельчака", "62 кабана"];

Ниже будут приведены два немного различных решения этой задачи (первое выполнено не совсем корректно, но для практики подойдет).

Решение №1

<script type = "text/javascript">

var myArray = ["100 попугаев", "201 рубль", "624 доллара", "109 кроликов", "33 весельчака", "62 кабана"];

var newArray = []; /* Создаем пустой массив */

document.write(myArray + "<p>") /* Выводим на экран все элементы исходного массива */

function count() /* Создаем функцию */
{
for (i = 0; i < myArray.length; i++) /* Цикл для перебора всех элементов массива */
{
var number = parseInt(myArray[i]); /* Исключаем текст в текущем элементе массива... */
document.write(number + "<p>"); /* ...и выводим на экран текущий элемент массива уже без текста */

newArray.push(number); /* Добавляем в новый массив элемент без текста */
}
document.write(newArray); /* Выводим на экран все элементы нового массива */
}

count() /* Вызываем функцию */

</script>

Домашнее задание - Функции parseInt, parseFloat и Number

100 попугаев,201 рубль,624 доллара,109 кроликов,33 весельчака,62 кабана

100

201

624

109

33

62

100,201,624,109,33,62

1-е решение выполнено не совсем корректно, так как по условию исходный массив должен изменить свои значения на числовые. А здесь для этой цели был создан новый массив, что противоречит условию. Во 2-м решении все сделано правильно.

Решение №2

<script type = "text/javascript">

var myArray = ["100 попугаев", "201 рубль", "624 доллара", "109 кроликов", "33 весельчака", "62 кабана"];

document.write(myArray + "<br />"); /* Выводим на экран все элементы исходного массива */

function count(anyArray) /* Создаем функцию с произвольным параметром */
{
for (i = 0; i < anyArray.length; i++) /* Цикл для перебора всех элементов массива */
{
anyArray[i] = parseInt(anyArray[i]); /* Исключаем текст в текущем элементе массива... */

document.write(anyArray[i] + "<br />"); /* ...и выводим на экран текущий элемент массива уже без текста */
}
}

count(myArray) /* Вызываем функцию и указываем в качестве параметра исходный массив */

document.write(myArray); /* В результате исходный массив изменил свои значения на полностью числовые */

</script>

Домашнее задание - Функции parseInt, parseFloat и Number - 2-ой вариант

100 попугаев,201 рубль,624 доллара,109 кроликов,33 весельчака,62 кабана

100
201
624
109
33
62

100,201,624,109,33,62

Главная Изучаем JavaScript Функции parseInt, parseFloat и Number - Конвертация строк Метод toFixed - Число знаков после запятой

Ваши комментарии к уроку:

Комментариев нет...

Добавить комментарий:

Ваше Имя:*
Комментарий:*
Ответьте на вопрос: *
Сколько дней в Високосном году?
* - поля обязательные для заполнения.
JavaScript
Частота просмотра уроков
Дизайн сайтов
ПОИСК ПО САЙТУ:

Моё имя Антон. Связаться со мною Вы можете по e-mail: averagev@mail.ru