Tyto metody čísel lze použít pro všechna čísla JavaScript:
Vrátí číslo jako řetězec
Vrátí číslo zapsané v exponenciálním zápisu
Vrátí číslo zapsané s počtem desetinných míst
Vrátí číslo zapsané se zadanou délkou
Vrátí číslo jako číslo
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):
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>
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:
let x = 9.656;
x.toExponential(2);
x.toExponential(4);
x.toExponential(6);
Parametr je volitelný. Pokud jej neuvedete, JavaScript číslo nezaokrouhlí.
toFixed()
vrací řetězec s číslem napsaný s určeným počtem desetinná místa:
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.
toPrecision()
vrací řetězec s číslem zapsaným specifikovaná délka:
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>
valueOf()
vrátí číslo jako číslo.
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()
.
Existují 3 metody JavaScriptu, které lze použít pro převod proměnné na číslo:
Vrátí číslo převedené z jeho argumentu.
Zanalyzuje jeho argument a vrátí číslo s plovoucí desetinnou čárkou
Zanalyzuje jeho argument a vrátí celé číslo
Výše uvedené metody nejsou metodami čísla. Jsou to globální metody JavaScriptu.
Metodu Number()
lze použít k převodu proměnných JavaScriptu na čísla:
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).
Number()
může také převést datum na číslo.
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>
Metoda Date()
vrací počet milisekund od 1.1.1970.
Počet milisekund mezi 1970-01-02 a 1970-01-01 je 86400000:
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>
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>
parseInt()
analyzuje řetězec a vrátí celé číslo. Prostory jsou povoleno. Vrátí se pouze první číslo:
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).
parseFloat()
analyzuje řetězec a vrátí číslo. Prostory jsou povoleno. Vrátí se pouze první číslo:
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).
Tyto metody objektu patří k objektu Number:
Vrátí hodnotu true, pokud je argument celé číslo
Vrátí hodnotu true, pokud je argumentem bezpečné celé číslo
Převede řetězec na číslo
Převede řetězec na celé číslo
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
.
Pokud je argument celé číslo, metoda Number.isInteger()
vrátí true
.
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>
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
.
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.
Number.parseFloat()
analyzuje řetězec a vrátí číslo.
Prostory jsou povoleny. Vrátí se pouze první číslo:
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).
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č).
Number.parseInt()
analyzuje řetězec a vrátí celé číslo.
Prostory jsou povoleny. Vrátí se pouze první číslo:
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).
Ú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.