Getallen extraheren in JavaScript
De functie Number werkt alleen
met strings die uit cijfers bestaan.
Bij het programmeren in JavaScript
komt het echter vaak voor dat je te maken krijgt
met strings waarin een getal aan het begin staat,
gevolgd door letters.
Een voorbeeld van zo'n string is een waarde
in pixels: '12px'. Stel dat we het
getal aan het begin moeten eruit halen en
het stringgedeelte moeten weggooien. Voor zo'n bewerking bestaat
de functie parseInt. Laten we eens kijken
naar een voorbeeld van hoe het werkt:
let num = parseInt('12px');
alert(num); // geeft 12 weer
Pixels zijn echter soms fractioneel:
'12.5px'. In dit geval kan de functie parseInt
het niet aan en geeft alleen het gehele deel weer:
let num = parseInt('12.5px');
alert(num); // geeft nog steeds 12 weer
In het algemeen is het mogelijk dat dit gedrag
precies is wat je nodig hebt. Maar zo niet, gebruik dan
de functie parseFloat, die het
getal inclusief het breukdeel extraheert:
let num = parseFloat('12.5px');
alert(num); // geeft 12.5 weer
Natuurlijk weerhoudt de afwezigheid van een breukdeel
de functie parseFloat er niet van
correct te werken:
let num = parseFloat('12px');
alert(num); // geeft 12 weer
Er is een variabele met de waarde '5px' en
een variabele met de waarde '6px'. Bereken
de som van de pixels uit de waarden van deze variabelen
en geef deze weer op het scherm.
Er is een variabele met de waarde '5.5px'
en een variabele met de waarde '6.25px'.
Bereken de som van de pixels uit de waarden van deze variabelen
en geef deze weer op het scherm.
Pas de vorige opgave zo aan dat
er letters aan het uitvoerresultaat worden toegevoegd:
'px'. Dus, als onze som gelijk is aan
11.75, laat dan
'11.75px' op het scherm verschijnen.