Inbyggda metoder i JavaScript


Test av parseInt(), parseFloat() och isNaN()

Detta exempel visar på hur metoderna parseInt(), parseFloat() och IsNaN() fungerar. I exemplet deklareras två variabler som tilldelas strängar (textInt och textFloat) som innehåller tal. Vid första tilldelningen av variabeln textInt så börjar strängen med en bokstav ("a") vilket kommer leda till att metoden parseInt() kommer "misslyckas", d.v.s. returnera värdet NaN. Andra gången (efter första if-satsen) tilldelas textInt en sträng som börjar med siffror ("12") och avslutas med en bokstav ("a"). Detta kommer inte påverka metoden parseInt() då den endast behandlar siffrorna i strängen.

Metoden parseFloat() fungerar på ett liknande sätt som parseInt() så vi visar endast hur metoden fungerar med en sträng som innehåller ett decimaltal.

Kod:

<script type="text/javascript">
<!-- 
  var textInt = "a12"; //deklarera variabler
  var textFloat = "3.14";
  var enInt = 0;
  var enFloat = 0.0;

  enInt = parseInt(textInt);

  document.writeln("textInt innehåller: " + textInt);

  if(isNaN(enInt))
    document.writeln(". enInt innehåller NaN och är: " + enInt)
  else
    document.writeln(". enInt innehåller inte NaN och är: " + enInt);

  document.writeln("<br><br>");

  textInt = "12a";
  enInt = parseInt(textInt);
  document.writeln("textInt innehåller: " + textInt);

  if(isNaN(enInt))
    document.writeln(". enInt innehåller NaN och är: " + enInt)
  else
    document.writeln(". enInt innehåller inte NaN och är: " + enInt);

  document.writeln("<br><br>");

  enFloat = parseFloat(textFloat);

  if(isNaN(enFloat))
    document.writeln("enFloat innehåller NaN och är: " + enFloat)
  else
    document.writeln("enFloat innehåller inte NaN och är: " + enFloat); 
-->
</script>

Resultat:


Skapad av: Björn Persson Uppdaterad: