Извличане на числа в JavaScript

Функцията Number работи само с низове, състоящи се от цифри. Обаче, при програмирането на JavaScript често се срещат ситуации, когато трябва да работите с низове, в началото на които има число, а след това букви.

Пример за такъв низ може да бъде стойност в пиксели: '12px'. Да приемем, че трябва да извлечем числото в началото, като изхвърлим стринговата част. За такава операция съществува функцията parseInt. Нека разгледаме нейната работа с пример:

javascriptlet num = parseInt('12px');
alert(num); // ще изведе 12

Пикселите обаче понякога могат да бъдат дробни: '12.5px'. В този случай функцията parseInt не успява и извежда само цялата част:

javascriptlet num = parseInt('12.5px');
alert(num); // пак ще изведе 12

В общи линии, възможно е такова поведение - това да бъде точно това, от което се нуждаете. Но ако не е - използвайте функцията parseFloat, която извлича числото заедно с неговата дробна част:

javascriptlet num = parseFloat('12.5px');
alert(num); // ще изведе 12.5

Разбира се, липсата на дробна част не пречи на функцията parseFloat да работи коректно:

javascriptlet num = parseFloat('12px');
alert(num); // ще изведе 12
Задание 1

Дадена е променлива със стойност '5px' и променлива със стойност '6px'. Намерете сумата от пикселите от стойностите на тези променливи и я изведете на екрана.

Задание 2

Дадена е променлива със стойност '5.5px' и променлива със стойност '6.25px'. Намерете сумата от пикселите от стойностите на тези променливи и я изведете на екрана.

Задание 3

Модифицирайте предходната задача така, че към извеждания резултат да се добавят буквите 'px'. Тоест, ако нашата сума е равна на 11.75, то на екрана нека се изведе '11.75px'.