V tomto výukovém programu se na příkladech dozvíte o čísle JavaScriptu.
V JavaScriptu jsou čísla primitivní datové typy. Například,
const a = 3; const b = 3.13;
Na rozdíl od některých jiných programovacích jazyků nemusíte specificky deklarovat celé nebo plovoucí hodnoty pomocí int , float atd.
Pomocí exponenciální notace e můžete zahrnout příliš velká nebo příliš malá čísla. Například,
const a1 = 5e9; console.log(a1); //5000000000 const a2 = 5e-5; console.log(a2); // 0.00005
Čísla lze označovat také hexadecimálně. Například,
const a = 0xff; console.log(a); // 255 const b = 0x00 ; console.log(b); // 0
+ Operátor s čísly
Pokud +
se používá s čísly, slouží k přidání čísel. Například,
const a = 4 + 9; console.log(a); // 13
Když +
se používá s čísly a řetězci, slouží k jejich zřetězení. Například,
const a = '4' + 9; console.log(a); // 49
Když se použije numerický řetězec s jinými numerickými operacemi, převede se numerický řetězec na číslo. Například,
const a = '4' - 2; console.log(a); // 2 const a = '4' / 2; console.log(a); // 2 const a = '4' * 2; console.log(a); // 8
JavaScript NaN
V JavaScriptu je NaN
(Not a Number) klíčové slovo, které označuje, že hodnota není číslo.
Provádění aritmetických operací (kromě +
) na číselnou hodnotu s výsledky řetězce v NaN
. Například,
const a = 4 - 'hello'; console.log(a); // NaN
Integrovanou funkci isNaN()
lze použít ke zjištění, zda je hodnota číslem. Například,
const a = isNaN(9); console.log(a); // false const a = isNaN(4 - 'hello'); console.log(a); // true
Když se typeof
operátor použije pro NaN
hodnotu, dá číselný výstup. Například,
const a = 4 - 'hello'; console.log(a); // NaN console.log(typeof a); // "number"
JavaScript nekonečno
V JavaScriptu, když je proveden výpočet, který přesahuje největší (nebo nejmenší) možný počet, Infinity
(nebo -Infinity
) je vrácen. Například,
const a = 2 / 0; console.log(a); // Infinity const a = -2 / 0; console.log(a); // -Infinity
JavaScript BigInt
V JavaScriptu může typ čísla představovat pouze čísla menší než (2 53 - 1) a více než - (2 53 - 1) . Pokud však potřebujete použít větší číslo, můžete použít datový typ BigInt.
Číslo BigInt je vytvořeno připojením n na konec celého čísla. Například,
// BigInt value const value = 900719925124740998n; // Adding two big integers const value1 = value + 1n; console.log(value1); // returns "900719925124740999n"
Poznámka: BigInt byl představen v novější verzi JavaScriptu a mnoho prohlížečů jej nepodporuje. Navštivte podporu JavaScriptu BigInt a dozvíte se více.
Čísla JavaScriptu jsou uložena v 64bitových verzích
V JavaScriptu jsou čísla uložena v 64bitovém formátu IEEE-754, známém také jako „čísla s plovoucí desetinnou čárkou s dvojitou přesností“.
Čísla jsou uložena na 64 bitech (číslo je uloženo na pozicích 0 až 51 bitů, exponent na pozicích 52 až 62 bitů a znaménko na pozici 63 bitů).
Čísla | Exponent | Podepsat |
---|---|---|
52 bitů (0-51) | 11 bitů (52-62) | 1 bit (63) |
Problémy s přesností
Výsledkem operací s čísly s plovoucí desetinnou čárkou jsou neočekávané výsledky. Například,
const a = 0.1 + 0.2; console.log(a); // 0.30000000000000004
Výsledek by měl být 0,3 místo 0,30000000000000004 . K této chybě dochází, protože v JavaScriptu jsou čísla uložena v binární podobě, která interně představují desetinná místa. A desetinná čísla nelze přesně vyjádřit v binární podobě.
Chcete-li vyřešit výše uvedený problém, můžete udělat něco takového:
const a = (0.1 * 10 + 0.2 * 10) / 10; console.log(a); // 0.3
Můžete také použít toFixed()
metodu.
const a = 0.1 + 0.2; console.log(a.toFixed(2)); // 0.30
toFixed(2)
rounds up the decimal number to two decimal values.
const a = 9999999999999999 console.log(a); // 10000000000000000
Note: Integers are accurate up to 15 digits.
Number Objects
You can also create numbers using the new
keyword. For example,
const a = 45; // creating a number object const b = new Number(45); console.log(a); // 45 console.log(b); // 45 console.log(typeof a); // "number" console.log(typeof b); // "object"
Note: It is recommended to avoid using number objects. Using number objects slows down the program.
JavaScript Number Methods
Here is a list of built-in number methods in JavaScript.
Method | Description |
---|---|
isNaN() | determines whether the passed value is NaN |
isFinite() | determines whether the passed value is a finite number |
isInteger() | determines whether the passed value is an integer |
isSafeInteger() | determines whether the passed value is a safe integer |
parseFloat(string) | converts the numeric floating string to floating-point number |
parseInt(string, (radix)) | converts the numeric string to integer |
toExponential(fractionDigits) | returns a string value for a number in exponential notation |
toFixed(digits) | returns a string value for a number in fixed-point notation |
toPrecision() | returns a string value for a number to a specified precision |
toString((radix)) | returns a string value in a specified radix(base) |
valueof() | returns the numbers value |
toLocaleString() | returns a string with a language sensitive representation of a number |
For example,
// check if a is integer const a = 12; console.log(Number.isInteger(a)); // true // check if b is NaN const b = NaN; console.log(Number.isNaN(b)); // true // display upto two decimal point const d = 5.1234; console.log(d.toFixed(2)); // 5.12
JavaScript Number Properties
Here is a list of Number properties in JavaScript.
Property | Description |
---|---|
EPSILON | returns the smallest interval between two representable numbers |
MAX_SAFE_INTEGER | returns the maximum safe integer |
MAX_VALUE | returns the largest possible value |
MIN_SAFE_INTEGER | returns the minimum safe integer |
MIN_VALUE | returns the smallest possible value |
NaN | represents 'Not-a-Number' value |
NEGATIVE_INFINITY | represents negative infinity |
POSITIVE_INFINITY | představuje kladné nekonečno |
prototyp | umožňuje přidání vlastností do Number objektů |
Například,
// largest possible value const a = Number.MAX_VALUE; console.log(a); // 1.7976931348623157e+308 // maximum safe integer const a = Number.MAX_SAFE_INTEGER; console.log(a); // 9007199254740991
Funkce JavaScript Number ()
Tato Number()
funkce se používá k převodu různých typů dat na čísla. Například,
const a = '23'; // string const b = true; // boolean //converting to number const result1 = Number(a); const result2 = Number(b); console.log(result1); // 23 console.log(result2); // 1
Pokud se chcete dozvědět více o převodu čísel, navštivte Převod typu JavaScriptu.