Numeroiden erottaminen JavaScriptissä
Funktio Number toimii vain
numeerisista merkkijonoista.
Kuitenkin JavaScript-ohjelmoinnissa
tilanteet, joissa joudut käsittelemään
merkkijonoja, joiden alussa on
numero ja sen jälkeen kirjaimia, ovat yleisiä.
Esimerkki tällaisesta merkkijonosta voisi olla
pikseliarvo: '12px'. Oletetaan, että meidän on
poimittava alussa oleva numero hyläten
merkkijono-osa. Tällaista operaatiota varten on olemassa
funktio parseInt. Katsotaanpa
sen toimintaa esimerkillä:
let num = parseInt('12px');
alert(num); // tulostaa 12
Pikselit voivat kuitenkin joskus olla murtolukuja:
'12.5px'. Tässä tapauksessa funktio parseInt
epäonnistuu ja tulostaa vain kokonaislukuosan:
let num = parseInt('12.5px');
alert(num); // tulostaa silti 12
Yleensä ottaen, on mahdollista, että tällainen käyttäytyminen on
juuri sitä, mitä tarvitset. Mutta jos ei - käytä
funktiota parseFloat, joka poimii
luvun yhdessä sen murtolukuosan kanssa:
let num = parseFloat('12.5px');
alert(num); // tulostaa 12.5
Tietenkään, murtolukuosan puuttuminen ei häiritse
funktion parseFloat oikeaa toimintaa:
let num = parseFloat('12px');
alert(num); // tulostaa 12
On annettu muuttuja arvolla '5px' ja
muuttuja arvolla '6px'. Etsi
muuttujien arvoista saatujen pikselien
summa ja tulosta se näytölle.
On annettu muuttuja arvolla '5.5px'
ja muuttuja arvolla '6.25px'.
Etsi muuttujien arvoista saatujen pikselien
summa ja tulosta se näytölle.
Muokkaa edellistä tehtävää siten, että
tulokseen lisätään kirjaimet
'px'. Eli, jos summamme on
11.75, niin näytölle tulostukoon
'11.75px'.