JavaScript-numeromenetelmät


Sisällysluettelo

    Näytä sisällysluettelo


JavaScript-numeromenetelmät

Näitä numeromenetelmiä voidaan käyttää kaikissa JavaScript-numeroissa:

toString()

Palauttaa luvun merkkijonona

toExponential()

Palauttaa luvun, joka on kirjoitettu eksponentiaalisella merkinnällä

toFixed()

Palauttaa luvun, joka on kirjoitettu useilla desimaaleilla

toPrecision()

Palauttaa määrätyllä pituudella kirjoitetun luvun

ValueOf()

Palauttaa luvun numerona


ToString()-menetelmä

Metodi toString() palauttaa luvun merkkijonona.

Kaikkia numeromenetelmiä voidaan käyttää minkä tahansa tyyppisille luvuille (literaalit, muuttujat tai lausekkeet):

Esimerkki

let x = 123;
x.toString();
(123).toString();
(100 + 23).toString();

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Number Methods</h2>

<p>The toString() method converts a number to a string.</p>

<p id="demo"></p>

<script>
let x = 123;
document.getElementById("demo").innerHTML =
  x.toString() + "<br>" +
   (123).toString() + "<br>" +
   (100 + 23).toString();
</script>

</body>
</html>

ToExponentiaalinen()-menetelmä

toExponential() palauttaa merkkijonon, jonka numero pyöristetään ja kirjoitetaan eksponentiaalisella merkinnällä.

Parametri määrittää desimaalipilkun takana olevien merkkien määrän:

Esimerkki

let x = 9.656;
x.toExponential(2);
x.toExponential(4);
x.toExponential(6);

Parametri on valinnainen. Jos et määritä sitä, JavaScript ei pyöristä numeroa.



ToFixed()-menetelmä

toFixed() palauttaa merkkijonon numerolla kirjoitettu määrätyllä numerolla desimaalit:

Esimerkki

let x = 9.656;
x.toFixed(0);
x.toFixed(2);
x.toFixed(4);
x.toFixed(6);

toFixed(2) sopii täydellisesti rahan parissa työskentelemiseen.


ToPrecision()-menetelmä

toPrecision() palauttaa merkkijonon, jonka numero on kirjoitettu määritetty pituus:

Esimerkki

let x = 9.656;
x.toPrecision();
x.toPrecision(2);
x.toPrecision(4);
x.toPrecision(6);

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Number Methods</h2>

<p>The toPrecision() method returns a string, with a number written with a specified length:</p>

<p id="demo"></p>

<script>
let x = 9.656;
document.getElementById("demo").innerHTML = 
  x.toPrecision() + "<br>" +
  x.toPrecision(2) + "<br>" +
  x.toPrecision(4) + "<br>" +
  x.toPrecision(6);  
</script>

</body>
</html>

ValueOf()-menetelmä

valueOf() palauttaa luvun numerona.

Esimerkki

let x = 123;
x.valueOf();
(123).valueOf();
(100 + 23).valueOf();

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Number Methods</h2>

<p>The valueOf() method returns a number as a number:</p>

<p id="demo"></p>

<script>
let x = 123;

document.getElementById("demo").innerHTML = 
  x.valueOf() + "<br>" +
  (123).valueOf() + "<br>" +
  (100 + 23).valueOf();
</script>

</body>
</html>

JavaScriptissä numero voi olla primitiivinen arvo (typeof=numero) tai an objekti (typeof=objekti).

valueOf()-menetelmää käytetään sisäisesti JavaScriptissä numeron muuntamiseen vastustaa primitiivisiä arvoja.

Ei ole mitään syytä käyttää sitä koodissasi.

Kaikilla JavaScript-tietotyypeillä on valueOf()- ja toString()-metodi.


Muuttujien muuntaminen numeroiksi

Voidaan käyttää kolmea JavaScript-menetelmää muuttaaksesi muuttujan luvuksi:

Number()

Palauttaa argumentistaan muunnetun luvun.

parseFloat()

Jäsentää argumentin ja palauttaa liukulukuluvun

parseInt()

Jäsentää argumentin ja palauttaa kokonaisluvun

Yllä olevat menetelmät eivät ole numeromenetelmiä. Ne ovat globaalia JavaScript-menetelmiä.


Numero()-menetelmä

Number()-menetelmää voidaan käyttää JavaScript-muuttujien muuntamiseen numeroiksi:

Esimerkki

Number(true);
Number(false);
Number("10");
Number("  10");
Number("10  ");
Number(" 10  ");
Number("10.33");
Number("10,33");
Number("10 33");
Number("John");

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Global Methods</h2>

<p>The Number() method converts variables to numbers:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = 
  Number(true) + "<br>" +
  Number(false) + "<br>" +
  Number("10") + "<br>" + 
  Number("  10") + "<br>" +
  Number("10  ") + "<br>" +
  Number(" 10  ") + "<br>" +
  Number("10.33") + "<br>" + 
  Number("10,33") + "<br>" +
  Number("10 33") + "<br>" +
  Number("John");
</script>

</body>
</html>


Jos numeroa ei voi muuntaa, palautetaan NaN (ei numero).


Päivämäärinä käytetty Number()-menetelmä

Numero() voi myös muuntaa päivämäärän numeroksi.

Esimerkki

Number(new Date("1970-01-01"))

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Global Methods</h2>

<p>The Number() method can convert a date to a number:</p>

<p id="demo"></p>

<script>
let x = new Date("1970-01-01");
document.getElementById("demo").innerHTML = Number(x); 
</script>

</body>
</html>


Huomautus

Metodi Päivämäärä() palauttaa millisekuntien määrän 1.1.1970 lähtien.

Millisekuntien määrä 1970-01-02 ja 1970-01-01 välillä on 86400000:

Esimerkki

Number(new Date("1970-01-02"))

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Global Methods</h2>

<p>The Number() method can convert a date to a number:</p>

<p id="demo"></p>

<script>
let x = new Date("1970-01-02");
document.getElementById("demo").innerHTML = Number(x); 
</script>

</body>
</html>


Esimerkki

Number(new Date("2017-09-30"))

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Global Methods</h2>

<p>The Number() method can convert a date to a number:</p>

<p id="demo"></p>

<script>
let x = new Date("2017-09-30");
document.getElementById("demo").innerHTML = Number(x); 
</script>

</body>
</html>



ParseInt()-menetelmä

parseInt() jäsentää merkkijonon ja palauttaa kokonaisluvun. Tilat ovat sallittu. Vain ensimmäinen numero palautetaan:

Esimerkki

parseInt("-10");
parseInt("-10.33");
parseInt("10");
parseInt("10.33");
parseInt("10 20 30");
parseInt("10 years");
parseInt("years 10");

Jos numeroa ei voi muuntaa, palautetaan NaN (ei numero).


ParseFloat()-menetelmä

parseFloat() jäsentää merkkijonon ja palauttaa luvun. Tilat ovat sallittu. Vain ensimmäinen numero palautetaan:

Esimerkki

parseFloat("10");
parseFloat("10.33");
parseFloat("10 20 30");
parseFloat("10 years");
parseFloat("years 10");

Jos numeroa ei voi muuntaa, palautetaan NaN (ei numero).


Numeroobjektimenetelmät

Nämä objektimenetelmät kuuluvat Number-objektiin:

Number.isInteger()

Palauttaa tosi, jos argumentti on kokonaisluku

Number.isSafeInteger()

Palauttaa tosi, jos argumentti on turvallinen kokonaisluku

Number.parseFloat()

Muuntaa merkkijonon luvuksi

Number.parseInt()

Muuntaa merkkijonon kokonaisluvuksi

Numeromenetelmiä ei voida käyttää muuttujiin

Yllä olevat numeromenetelmät kuuluvat JavaScriptin numeroobjektiin.

Näitä menetelmiä voi käyttää vain kuten Number.isInteger().

X.isInteger():n käyttö, jossa X on muuttuja, johtaa virheeseen:

TypeError X.isInteger ei ole funktio.


Number.isInteger() -menetelmä

Metodi Number.isInteger() palauttaa true, jos argumentti on kokonaisluku.

Esimerkki

Number.isInteger(10);
Number.isInteger(10.5);

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Numbers</h1>
<h2>The isInteger() Method</h2>

<p>The isInteger() method returns true if the argument is an integer.</p>
<p>Otherwise it returns false.</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML =
Number.isInteger(10) + "<br>" + Number.isInteger(10.5);
</script>

</body>
</html>

Number.isSafeInteger() -menetelmä

Turvallinen kokonaisluku on kokonaisluku, joka voidaan esittää täsmälleen kaksinkertaisena tarkkuuslukuna.

Metodi Number.isSafeInteger() palauttaa true, jos argumentti on turvallinen kokonaisluku.

Esimerkki

Number.isSafeInteger(10);
Number.isSafeInteger(12345678901234567890);

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Numbers</h1>
<h2>The isSafeInteger() Method</h2>

<p>The isSafeInteger() method returns true if the argument is a safe integer.</p>
<p>Otherwise it returns false.</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML =
Number.isSafeInteger(10) + "<br>" + Number.isSafeInteger(12345678901234567890);
</script>

</body>
</html>

Turvalliset kokonaisluvut ovat kaikki kokonaislukuja -(253 - 1) - +(253 - 1).
Tämä on turvallista: 9007199254740991. Tämä ei ole turvallista: 9007199254740992.


Number.parseFloat()-menetelmä

Number.parseFloat() jäsentää merkkijonon ja palauttaa luvun.

Tilat ovat sallittuja. Vain ensimmäinen numero palautetaan:

Esimerkki

Number.parseFloat("10");
Number.parseFloat("10.33");
Number.parseFloat("10 20 30");
Number.parseFloat("10 years");
Number.parseFloat("years 10");

Jos numeroa ei voi muuntaa, palautetaan NaN (ei numero).

Huomautus

Numero-menetelmät Number.parseInt() ja Number.parseFloat()

ovat samat kuin

Yleiset menetelmät parseInt() ja parseFloat().

Tarkoituksena on globalisaatioiden modularisointi (jotta olisi helpompi käyttää samaa JavaScript-koodia selaimen ulkopuolella).


Number.parseInt() -menetelmä

Number.parseInt() jäsentää merkkijonon ja palauttaa kokonaisluvun.

Tilat ovat sallittuja. Vain ensimmäinen numero palautetaan:

Esimerkki

Number.parseInt("-10");
Number.parseInt("-10.33");
Number.parseInt("10");
Number.parseInt("10.33");
Number.parseInt("10 20 30");
Number.parseInt("10 years");
Number.parseInt("years 10");

Jos numeroa ei voi muuntaa, palautetaan NaN (ei numero).

Täydellinen JavaScript-numeroviite

Täydellisen numeroviitteen saat vierailemalla:

Täydellinen JavaScript-numeroviite.

Viite sisältää kuvauksia ja esimerkkejä kaikista Numeron ominaisuuksista ja menetelmistä.