Konverter en streng til et heltall i JavaScript

I JavaScript er det ganske vanlig å finne deg selv med et tall fanget inne i en streng. Dette kan skje når du arbeider med brukerinndata, leser data fra en fil eller arbeider med en tredjeparts API. Men JavaScript gir flere nyttige metoder for å frigjøre det nummeret og konvertere det til et heltall. Dette er veldig nyttig når du trenger å gjøre litt matematikk eller sammenligninger med disse tallene.

Innholdsfortegnelse

Tilnærming 1: Konverter streng til et heltall ved hjelp av parseInt()-metoden

De parseInt() metode aksepterer strengen og radix-parameteren og konverterer den til et heltall.

Syntaks:

parseInt( Value, radix ) 

Eksempel: I dette tilfellet bruker vi JavaScript parseInt()-metoden for å konvertere en streng til et heltall.

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

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

Forklaring

Koden initialiserer en variabel a> med strengen 100, skriver ut sin type før og etter konvertering til et heltall ved hjelp av parseInt()>

Tilnærming 2: Konverter streng til et heltall ved hjelp av Number()-metoden

De tall()-metoden brukes til å konvertere primitiv datatype til et tall, hvis det ikke er konverterbart returnerer det NAN.

Syntaks:

Number( value ) 

Eksempel: Her bruker vi JavaScript Number()-metoden for å konvertere streng til et heltall.

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

Produksjon
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 strengverdier som representerer henholdsvis alder og et navn. Den viser deretter typene deres før og etter konvertering til tall ved hjelp av Number()> .

Tilnærming 3: Konverter streng til et heltall ved å bruke Unary Operator

De Unær operator (+) brukes til å konvertere en streng, boolsk og ikke-streng til et tall.

Syntaks:

+operand; 

Eksempel:

De unær operatør å konvertere en streng til et tall.

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

Produksjon
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 strengverdier som representerer henholdsvis alder, et navn og et konstant tall. Den viser deretter typene deres før og etter konvertering til tall ved å bruke den unære plussoperatoren +> .

Tilnærming 4: Konverter streng til et heltall ved hjelp av Math.floor()-metoden

De Math.floor()-metoden brukes til å konvertere en streng til tall.

Syntaks:

Math.floor( numStr ) 

Eksempel:

Math.floor()-metoden brukes til å konvertere en streng til et tall.

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

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

Forklaring

Here, parseFloat()> brukes til å konvertere strengen numStr> til et flyttallnummer før du søker Math.floor()> . Dette sikrer at resultatet er et tall.

Tilnærming 5: Konverter streng til et heltall ved hjelp av Bitwise Operator

Bruke bitvise operatorer som | 0 eller < < 0 kan også utføre streng-til-heltall-konvertering på en kortfattet måte.

Syntaks:

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

Eksempel: Bitwise-operatøren kan også brukes til å konvertere en streng til et tall.

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

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

Tilnærming 6: Konverter streng til et heltall ved hjelp av BigInt() Constructor

BigInt()-konstruktøren kan brukes til å konvertere en streng til et BigInt-heltall. Dette er spesielt nyttig når du arbeider med veldig store heltall som overskrider den maksimale sikre heltallsgrensen 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 

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

Forklaring

Koden initialiserer en variabel numStr> med strengen 101,45. Den bruker deretter en bitvis ELLER-operasjon ( |> ) for å implisitt konvertere numStr> til et heltall, avkorter desimaldelen. Til slutt viser den typen numInt> før og etter konvertering.

Feilhåndtering ved konvertering av strenger til heltall i JavaScript

Når du konverterer strenger til heltall, er det avgjørende å håndtere potensielle feil for å sikre at koden din fungerer som den skal. Her er noen vanlige feil og hvordan du håndterer dem:

  • Ikke-numeriske tegn: Hvis strengen inneholder ikke-numeriske tegn, parseInt()> og Number()> kan komme tilbake NaN> (Ikke et nummer). Du kan sjekke dette ved å bruke isNaN()> og håndtere ugyldige inndata på en elegant måte.
  • Førende og etterfølgende mellomrom: Mellomrom på begynnelsen eller slutten av strengen kan bli ignorert av noen metoder. Bruk metoder som trim()> for å fjerne mellomrom før konvertering.
  • Radix-problemer: Spesifiserer feil radiks i parseInt()> kan føre til uventede resultater. Valider radiksen basert på konteksten (bruk for eksempel radiks 16 for heksadesimale strenger).
  • Overløp og underløp: Konvertering av svært store eller svært små tall kan føre til over- eller underflyt. Vurder å bruke biblioteker som bignumber.js> for å håndtere tall utenfor JavaScripts opprinnelige område.

Konverter en streng til et heltall i JavaScript-brukstilfeller

1. JavaScript-program for å konvertere dato til tall

JavaScript Dato objekt brukes til å få datoer og klokkeslett. Det hjelper med å formatere datoene. Vi kan bruke ny nøkkelord for å lage et objekt for Dato. For å konvertere en dato til et tall, bruker vi getTime() metode .

2. Hvordan konvertere en streng til et heltall uten å bruke funksjonen parseInt() i JavaScript?

For å konvertere en streng til et heltall uten å bruke parseInt(), kan vi bruke følgende:

  • Bruker tvang
  • Bruker Number() funksjon
  • Bruker unær + operator
  • Ved hjelp av Math floor() Metode
  • Ved hjelp av Math.ceil( ) funksjon

3. Hvordan konvertere en streng av en hvilken som helst base til et heltall i JavaScript?

Vi kan bruke en metode (eller en funksjon) levert av JavaScript kalt as parseInt().

JavaScript er mest kjent for utvikling av nettsider, men den brukes også i en rekke ikke-nettlesermiljøer. Du kan lære JavaScript fra grunnen av ved å følge dette JavaScript veiledning og JavaScript-eksempler .