Extrakce čísel v JavaScriptu
Funkce Number pracuje pouze
s řetězci složenými z číslic.
Avšak při programování v JavaScriptu
často narazíte na situace, kdy potřebujete
pracovat s řetězci, na začátku kterých
je číslo a poté písmena.
Příkladem takového řetězce může být hodnota
v pixelech: '12px'. Předpokládejme, že potřebujeme
získat číslo na začátku a zahodit
řetězcovou část. Pro tuto operaci existuje
funkce parseInt. Podívejme se na
její fungování na příkladu:
let num = parseInt('12px');
alert(num); // vypíše 12
Pixely však někdy mohou být desetinné:
'12.5px'. V tomto případě funkce parseInt
selže a vypíše pouze celočíselnou část:
let num = parseInt('12.5px');
alert(num); // přesto vypíše 12
Obecně platí, že takové chování může být
právě to, co potřebujete. Ale pokud ne - použijte
funkci parseFloat, která extrahuje
číslo včetně jeho desetinné části:
let num = parseFloat('12.5px');
alert(num); // vypíše 12.5
Samozřejmě, absence desetinné části nebrání
funkci parseFloat pracovat korektně:
let num = parseFloat('12px');
alert(num); // vypíše 12
Je dána proměnná s hodnotou '5px' a
proměnná s hodnotou '6px'. Najděte
součet pixelů z hodnot těchto proměnných
a vypište jej na obrazovku.
Je dána proměnná s hodnotou '5.5px'
a proměnná s hodnotou '6.25px'.
Najděte součet pixelů z hodnot těchto proměnných
a vypište jej na obrazovku.
Upravte předchozí úlohu tak, aby
k vypisovanému výsledku byly přidány znaky
'px'. To znamená, že pokud je náš součet
11.75, ať se na obrazovce vypíše
'11.75px'.