Konverter en streng til et heltal i JavaScript

I JavaScript er det ret almindeligt at finde dig selv med et tal fanget inde i en streng. Dette kan ske, når du beskæftiger dig med brugerinput, læser data fra en fil eller arbejder med en tredjeparts API. Men JavaScript giver flere praktiske metoder til at frigøre det tal og konvertere det til et heltal. Dette er super nyttigt, når du skal lave noget matematik eller sammenligninger med disse tal.

Indholdsfortegnelse

Fremgangsmåde 1: Konverter streng til et heltal ved hjælp af parseInt()-metoden

Det parseInt() metode accepterer strengen og radix-parameteren og konverterer den til et heltal.

Syntaks:

parseInt( Value, radix ) 

Eksempel: I dette tilfælde bruger vi JavaScript-metoden parseInt() til at konvertere en streng til et heltal.

javascript
let a = '100'; console.log('Type of a before conversion: ' + typeof a); console.log('Type of a after conversion: ' + typeof parseInt(a)); 

Produktion
Type of a before conversion: string Type of a after conversion: number 

Forklaring

Koden initialiserer en variabel a> med strengen 100, udskriver dens type før og efter konvertering af den til et heltal vha parseInt()>

Fremgangsmåde 2: Konverter streng til et heltal ved hjælp af tal()-metoden

Det nummer() metode bruges til at konvertere primitiv datatype til et tal, hvis det ikke er konverterbart returnerer det NAN.

Syntaks:

Number( value ) 

Eksempel: Her bruger vi JavaScript Number()-metoden til at konvertere streng til et heltal.

Javascript
let age = '23'; let name = 'Manya'; console.log(  'Type of name and age before conversion: ',   typeof age, typeof name ); console.log(  'Type of name and age after conversion: ',   typeof Number(age), typeof Number(name) ); 

Produktion
Type of name and age before conversion: string string Type of name and age after conversion: number number 

Forklaring

Koden initialiserer variabler age> og name> med strengværdier, der repræsenterer henholdsvis alder og et navn. Det viser derefter deres typer før og efter konvertering til tal vha Number()> .

Fremgangsmåde 3: Konverter streng til et heltal ved hjælp af Unary Operator

Det Unær operator (+) bruges til at konvertere en streng, boolesk og ikke-streng til et tal.

Syntaks:

+operand; 

Eksempel:

Det unær operatør at konvertere en streng til et tal.

Javascript
let age = '23'; let name = 'Manya'; const number = '100'; console.log(  'Type of name, age and number before conversion: ',   typeof age, typeof name, typeof number ); console.log(  'Type of name, age and number after conversion: ',   typeof +age, typeof +name, typeof +number ); 

Produktion
Type of name, age and number before conversion: string string string Type of name, age and number after conversion: number number number 

Forklaring

Koden initialiserer variabler age> , name> , og number> med strengværdier, der repræsenterer henholdsvis alder, et navn og et konstant tal. Den viser derefter deres typer før og efter konvertering til tal ved hjælp af unær plus-operatoren +> .

Fremgangsmåde 4: Konverter streng til et heltal ved hjælp af Math.floor()-metoden

Det Math.floor() metode bruges til at konvertere en streng til tal.

Syntaks:

Math.floor( numStr ) 

Eksempel:

Math.floor() metoden bruges til at konvertere en streng til et tal.

Javascript
let numStr = '101.45'; let numInt = Math.floor(parseFloat(numStr));  console.log('Type of Number Before Conversion: ' + typeof numStr); console.log('Type of Number After Conversion: ' + typeof numInt); 

Produktion
Type of Number Before Conversion: string Type of Number After Conversion: number 

Forklaring

Here, parseFloat()> bruges til at konvertere strengen numStr> til et flydende decimaltal, før du anvender Math.floor()> . Dette sikrer, at resultatet er et tal.

Fremgangsmåde 5: Konverter streng til et heltal ved hjælp af Bitwise Operator

Brug af bitvise operatorer som | 0 eller < < 0 kan også udføre streng-til-heltal konvertering på en kortfattet måde.

Syntaks:

numStr | 0; // or numStr  < < 0; 

Eksempel: Bitwise Operator kan også bruges til at konvertere en streng til et tal.

Javascript
let numStr = '101.45'; let numInt = numStr | 0; console.log('Type of Number Before Conversion: '   + typeof numStr);   console.log('Type of Number After Conversion: '   + typeof parseInt(numInt)); 

Produktion
Type of Number Before Conversion: string Type of Number After Conversion: number 

Fremgangsmåde 6: Konverter streng til et heltal ved hjælp af BigInt() Constructor

BigInt()-konstruktøren kan bruges til at konvertere en streng til et BigInt-heltal. Dette er især nyttigt, når man har at gøre med meget store heltal, der overstiger den maksimale sikre heltalgrænse i JavaScript.

Eksempel:

JavaScript
// Example of using BigInt() constructor to convert a string into a BigInt integer let numStr = '12345678901234567890'; let numBigInt = BigInt(numStr); console.log('Type of Number Before Conversion: ' + typeof numStr); console.log('Type of Number After Conversion: ' + typeof numBigInt); console.log(numBigInt); // Nikunj Sonigara 

Produktion
Type of Number Before Conversion: string Type of Number After Conversion: bigint 12345678901234567890n 

Forklaring

Koden initialiserer en variabel numStr> med strengen 101,45. Den bruger derefter en bitvis ELLER-operation ( |> ) for implicit at konvertere numStr> til et heltal ved at afkorte dens decimaldel. Til sidst viser den typen af numInt> før og efter konvertering.

Fejlhåndtering ved konvertering af strenge til heltal i JavaScript

Når du konverterer strenge til heltal, er det afgørende at håndtere potentielle fejl for at sikre, at din kode fungerer korrekt. Her er nogle almindelige fejl, og hvordan man håndterer dem:

  • Ikke-numeriske tegn: Hvis strengen indeholder ikke-numeriske tegn, parseInt()> og Number()> kan vende tilbage NaN> (Ikke et nummer). Du kan tjekke for dette vha isNaN()> og behandler yndefuldt ugyldige input.
  • Førende og efterfølgende hvide mellemrum: Mellemrum i begyndelsen eller slutningen af ​​strengen kan blive ignoreret af nogle metoder. Brug metoder som f.eks trim()> for at fjerne mellemrum før konvertering.
  • Radix problemer: Angivelse af den forkerte radix in parseInt()> kan føre til uventede resultater. Valider radixet baseret på konteksten (brug f.eks. radix 16 for hexadecimale strenge).
  • Overløb og underløb: Konvertering af meget store eller meget små tal kan resultere i overløb eller underløb. Overvej at bruge biblioteker som f.eks bignumber.js> at håndtere tal uden for JavaScripts oprindelige område.

Konverter en streng til et heltal i JavaScript Use Cases

1. JavaScript-program til at konvertere dato til tal

JavaScript Dato objekt bruges til at få datoer og tidspunkter. Det hjælper med at formatere datoerne. Vi kan bruge ny nøgleord for at oprette et objekt til Dato. For at konvertere en dato til et tal bruger vi getTime() metode .

2. Hvordan konverterer man en streng til et heltal uden at bruge funktionen parseInt() i JavaScript?

For at konvertere en streng til et heltal uden at bruge parseInt(), kan vi bruge følgende:

  • Bruger tvang
  • Bruger Number() funktion
  • Bruger unær + operator
  • Ved brug af Math floor() Metode
  • Ved brug af Math.ceil( ) funktion

3. Hvordan konverterer man streng af enhver base til et heltal i JavaScript?

Vi bruger muligvis en metode (eller en funktion) leveret af JavaScript kaldet as parseInt().

JavaScript er bedst kendt for udvikling af websider, men den bruges også i en række ikke-browsermiljøer. Du kan lære JavaScript fra bunden ved at følge dette JavaScript tutorial og JavaScript eksempler .