JavaScriptové metody čísel


Obsah

    Zobrazit obsah


JavaScriptové metody čísel

Tyto metody čísel lze použít pro všechna čísla JavaScript:

toString()

Vrátí číslo jako řetězec

toExponential()

Vrátí číslo zapsané v exponenciálním zápisu

toFixed()

Vrátí číslo zapsané s počtem desetinných míst

toPrecision()

Vrátí číslo zapsané se zadanou délkou

ValueOf()

Vrátí číslo jako číslo


Metoda toString().

Metoda toString() vrací číslo jako řetězec.

Všechny číselné metody lze použít pro jakýkoli typ čísel (literály, proměnné nebo výrazy):

Příklad

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

Zkuste to sami →

<!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>

Metoda toExponential().

toExponential() vrací řetězec se zaokrouhleným číslem a zapsaným pomocí exponenciálního zápisu.

Parametr definuje počet znaků za desetinnou čárkou:

Příklad

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

Parametr je volitelný. Pokud jej neuvedete, JavaScript číslo nezaokrouhlí.



Metoda toFixed().

toFixed() vrací řetězec s číslem napsaný s určeným počtem desetinná místa:

Příklad

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

toFixed(2) je ideální pro práci s penězi.


Metoda toPrecision().

toPrecision() vrací řetězec s číslem zapsaným specifikovaná délka:

Příklad

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

Zkuste to sami →

<!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>

Metoda valueOf().

valueOf() vrátí číslo jako číslo.

Příklad

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

Zkuste to sami →

<!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>

V JavaScriptu může být číslo primitivní hodnota (typeof=číslo) nebo an objekt (typeof=objekt).

Metoda valueOf() se v JavaScriptu používá interně k převodu čísla objektů na primitivní hodnoty.

Není důvod jej používat ve vašem kódu.

Všechny datové typy JavaScriptu mají metody valueOf() a toString().


Převod proměnných na čísla

Existují 3 metody JavaScriptu, které lze použít pro převod proměnné na číslo:

Number()

Vrátí číslo převedené z jeho argumentu.

parseFloat()

Zanalyzuje jeho argument a vrátí číslo s plovoucí desetinnou čárkou

parseInt()

Zanalyzuje jeho argument a vrátí celé číslo

Výše uvedené metody nejsou metodami čísla. Jsou to globální metody JavaScriptu.


Metoda Number().

Metodu Number() lze použít k převodu proměnných JavaScriptu na čísla:

Příklad

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

Zkuste to sami →

<!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>


Pokud číslo nelze převést, vrátí se NaN (není číslo).


Metoda Number() použitá na datech

Number() může také převést datum na číslo.

Příklad

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

Zkuste to sami →

<!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>


Poznámka

Metoda Date() vrací počet milisekund od 1.1.1970.

Počet milisekund mezi 1970-01-02 a 1970-01-01 je 86400000:

Příklad

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

Zkuste to sami →

<!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>


Příklad

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

Zkuste to sami →

<!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>



Metoda parseInt().

parseInt() analyzuje řetězec a vrátí celé číslo. Prostory jsou povoleno. Vrátí se pouze první číslo:

Příklad

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

Pokud číslo nelze převést, vrátí se NaN (není číslo).


Metoda parseFloat().

parseFloat() analyzuje řetězec a vrátí číslo. Prostory jsou povoleno. Vrátí se pouze první číslo:

Příklad

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

Pokud číslo nelze převést, vrátí se NaN (není číslo).


Metody číselných objektů

Tyto metody objektu patří k objektu Number:

Number.isInteger()

Vrátí hodnotu true, pokud je argument celé číslo

Number.isSafeInteger()

Vrátí hodnotu true, pokud je argumentem bezpečné celé číslo

Number.parseFloat()

Převede řetězec na číslo

Number.parseInt()

Převede řetězec na celé číslo

Číselné metody nelze použít u proměnných

Výše uvedené metody čísel patří do Objektu čísel JavaScriptu.

K těmto metodám lze přistupovat pouze jako Number.isInteger().

Použití X.isInteger(), kde X je proměnná, povede k chybě:

Chyba typu X.isInteger není funkce.


Metoda Number.isInteger().

Pokud je argument celé číslo, metoda Number.isInteger() vrátí true.

Příklad

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

Zkuste to sami →

<!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>

Metoda Number.isSafeInteger().

Bezpečné celé číslo je celé číslo, které lze přesně vyjádřit jako číslo s dvojnásobnou přesností.

Pokud je argumentem bezpečné celé číslo, metoda Number.isSafeInteger() vrací true.

Příklad

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

Zkuste to sami →

<!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>

Bezpečná celá čísla jsou celá čísla od -(253 - 1) do +(253 - 1).
Toto je bezpečné: 9007199254740991. Toto není bezpečné: 9007199254740992.


Metoda Number.parseFloat().

Number.parseFloat() analyzuje řetězec a vrátí číslo.

Prostory jsou povoleny. Vrátí se pouze první číslo:

Příklad

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

Pokud číslo nelze převést, vrátí se NaN (není číslo).

Poznámka

Metody Number Number.parseInt() a Number.parseFloat()

jsou stejné jako

Globální metody parseInt() a parseFloat().

Účelem je modularizace globals (pro snadnější použití stejného JavaScript kódu mimo prohlížeč).


Metoda Number.parseInt().

Number.parseInt() analyzuje řetězec a vrátí celé číslo.

Prostory jsou povoleny. Vrátí se pouze první číslo:

Příklad

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");

Pokud číslo nelze převést, vrátí se NaN (není číslo).

Kompletní odkaz na číslo JavaScriptu

Úplný odkaz na číslo naleznete na našem webu:

Kompletní odkaz na číslo JavaScriptu.

Odkaz obsahuje popisy a příklady všech vlastností a metod Number.