Ce face Number.isInteger / isSafeInteger
Number.isInteger returnează true doar pentru valori de tip număr fără zecimale. Textele nu sunt transformate: Number.isInteger("5") dă false.
Number.isSafeInteger verifică în plus că numărul este între -(253 - 1) și 253 - 1 (Number.MAX_SAFE_INTEGER). Peste această limită, JavaScript nu mai poate reprezenta exact toate numerele întregi; pentru ele folosește BigInt.
Parametri
| Parametru | Descriere |
|---|---|
valoare |
Valoarea verificată. |
Ce returnează
true sau false.
Exemple
Exemplul 1: Ce este și ce nu este întreg
console.log(Number.isInteger(5));
console.log(Number.isInteger(5.0));
console.log(Number.isInteger(5.5));
console.log(Number.isInteger("5"));
console.log(Number.isInteger(Infinity));
Rezultat
true
true
false
false
false
Exemplul 2: Limita numerelor întregi sigure
const mare = 2 ** 53;
console.log(Number.MAX_SAFE_INTEGER);
console.log(mare === mare + 1);
console.log(Number.isInteger(mare), Number.isSafeInteger(mare));
console.log(Number.isSafeInteger(mare - 1));
Rezultat
9007199254740991
true
true false
true
Exemplul 3: Validarea unei cantități
function cantitateValida(text) {
const n = Number(text);
return Number.isInteger(n) && n > 0;
}
console.log(["3", "2.5", "-1", "abc", ""].map(cantitateValida));
Rezultat
[ true, false, false, false, false ]
Greșeli frecvente
- Dai textul din formular direct lui
Number.isIntegerși primești mereufalse. Transformă-l întâi cuNumber(). - Uiți că
Number("")este 0. Un câmp gol trece de verificarea „este întreg”; verifică separat textul gol.
Comenzi înrudite
Number.isNaN / isNaN: Verifică dacă o valoare este NaN („nu este un număr”), rezultatul unui calcul sau al unei conversii eșuate.parseInt / Number: Transformă un text în număr: parseInt pentru întregi, parseFloat pentru zecimale, Number pentru conversie strictă.BigInt: Numere întregi de orice mărime, fără pierdere de precizie; se scriu cu n la final.