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
- Tilnærming 2: Konverter streng til et heltall ved hjelp av Number()-metoden
- Tilnærming 3: Konverter streng til et heltall ved å bruke Unary Operator
- Tilnærming 4: Konverter streng til et heltall ved hjelp av Math.floor()-metoden
- Tilnærming 5: Konverter streng til et heltall ved hjelp av Bitwise Operator
- Feilhåndtering ved konvertering av strenger til heltall i JavaScript
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()>ogNumber()>kan komme tilbakeNaN>(Ikke et nummer). Du kan sjekke dette ved å brukeisNaN()>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 .