Heim > Artikel > Backend-Entwicklung > So konvertieren Sie einen String in eine Zahl in C++
Wie konvertiere ich einen String in eine Zahl in C++?
Bibliotheksfunktion zum Konvertieren von C++-Strings in Zahlen
1. atoi
Funktion: Konvertieren eines Strings in eine Ganzzahl
Verwendung:int atoi(const char *nptr);
Detaillierte Erklärung: atoi ist die Abkürzung für englisches Array to Integer. atoi() scannt den Parameter-nptr-String und gibt Null zurück, wenn das erste Zeichen keine Zahl oder ein Zeichen ist. Andernfalls wird die Typkonvertierung gestartet und die Konvertierung dann gestoppt, wenn eine Nicht-Zahl oder das Abschlusszeichen /0 erkannt wird. und eine Ganzzahl zurückgeben. Parameter:
*nptr: Zu konvertierender String.
Rückgabewert:
int: konvertierte Ganzzahl.
2. atol
Funktion: Konvertieren einer Zeichenfolge in eine lange Ganzzahl
Verwendung: long atol(const char *nptr);
Detaillierte Erklärung: atol() scannt die Parameter-nptr-Zeichenfolge, überspringt die vorangehenden Leerzeichen, startet die Konvertierung, bis eine Zahl oder ein positives oder negatives Vorzeichen gefunden wird, und endet erst, wenn eine Nicht-Zahl oder das Ende der Zeichenfolge ('/) gefunden wird. 0') Konvertieren Sie das Ergebnis und geben Sie es zurück.
Parameter:
*nptr: Zu konvertierender String.
Rückgabewert:
Long: Die konvertierte Long-Ganzzahl.
3. atof
Funktion: Konvertieren einer Zeichenfolge in eine Gleitkommazahl mit doppelter Genauigkeit
Verwendung: double atof(const char *nptr);
Ausführliche Erklärung: atof() scannt die Parameter-nptr-Zeichenfolge, überspringt die vorhergehenden Leerzeichen und startet die Konvertierung erst, wenn es auf Zahlen oder positive und negative Symbole stößt und dann auf Nichtzahlen oder das Ende der Zeichenfolge ('/) stößt. 0') Erst dann wird die Konvertierung beendet und das Ergebnis zurückgegeben. Die Parameterzeichenfolge nptr kann ein Plus- oder Minuszeichen, einen Dezimalpunkt oder E(e) zur Darstellung des Exponententeils enthalten, z. B. 123,456 oder 123e-2.
Parameter:
*nptr: Zu konvertierender String.
Rückgabewert:
double: konvertierte Gleitkommazahl mit doppelter Genauigkeit.
4. strtod
Funktion: Konvertieren Sie eine Zeichenfolge in einen Gleitkommawert mit doppelter Genauigkeit und melden Sie alle verbleibenden Zahlen, die nicht konvertiert werden können
Verwendung : double strtod(const char *nptr,char **endptr);
Detaillierte Erklärung: strtod() scannt die Parameter-nptr-Zeichenfolge, überspringt die vorhergehenden Leerzeichen und startet die Konvertierung erst, wenn Zahlen oder positive und negative Symbole gefunden werden, bis Nicht-Zahlen oder Zeichen vorliegen erscheinen Die Konvertierung endet, wenn die Zeichenfolge endet ('/0') und das Ergebnis zurückgegeben wird. Wenn endptr nicht NULL ist, wird der Zeichenzeiger in nptr, der beendet wird, wenn unqualifizierte Bedingungen auftreten, von endptr zurückgegeben. Die Parameterzeichenfolge nptr kann ein Plus- oder Minuszeichen, einen Dezimalpunkt oder E(e) zur Darstellung des Exponententeils enthalten. Zum Beispiel 123.456 oder 123e-2.
Parameter:
*nptr: Zu konvertierender String.
**endptr: Wenn endptr nicht NULL ist, wird der Zeichenzeiger in nptr, der beendet wird, wenn unqualifizierte Bedingungen auftreten, von endptr zurückgegeben.
Rückgabewert:
double: konvertierte Gleitkommazahl mit doppelter Genauigkeit.
5. strtol
Funktion: Konvertieren Sie eine Zeichenfolge in einen langen Wert und melden Sie alle verbleibenden Zahlen, die nicht konvertiert werden können
Verwendung: long int strtol(const char *nptr,char **endptr,int base);
Detaillierte Erklärung: Diese Funktion konvertiert die Parameter-NPTR-Zeichenfolge entsprechend der Parameterbasis in eine lange Ganzzahl. Der Basisparameter reicht von 2 bis 36 oder 0. Der Parameter Basis stellt das verwendete Basissystem dar. Wenn der Basiswert 10 ist, wird das Dezimalsystem verwendet. Wenn der Basiswert 16 ist, wird das Hexadezimalsystem verwendet. Wenn der Basiswert 0 ist, wird für die Konvertierung eine Dezimalzahl verwendet. Wenn Sie jedoch auf ein führendes Zeichen wie „0x“ stoßen, wird für die Konvertierung ein Hexadezimalwert verwendet. Wenn Sie auf ein führendes Zeichen von „0“ anstelle von „0x“ stoßen, wird es konvertiert . Verwenden Sie Oktal zur Konvertierung. Zunächst scannt strtol() die Parameterzeichenfolge nptr und überspringt die vorangehenden Leerzeichen. Die Konvertierung wird erst dann gestartet, wenn Zahlen oder positive und negative Symbole gefunden werden string ('/0') und geben Sie das Ergebnis zurück. Wenn der Parameter endptr nicht NULL ist, wird der Zeichenzeiger in nptr, der aufgrund unqualifizierter Bedingungen beendet wird, von endptr zurückgegeben.
Parameter:
*nptr: Zu konvertierender String.
**endptr: Wenn endptr nicht NULL ist, wird der Zeichenzeiger in nptr, der beendet wird, wenn unqualifizierte Bedingungen auftreten, von endptr zurückgegeben.
base: die verwendete Basismethode
Rückgabewert:
long int: die konvertierte lange Ganzzahl.
6. strtoul
Funktion: Konvertieren Sie eine Zeichenfolge in einen vorzeichenlosen langen Wert und melden Sie alle verbleibenden Zahlen, die nicht konvertiert werden können.
Verwendung: unsigned long int strtoul(const char *nptr,char **endptr,int base);
Detaillierte Erklärung: strtoul() konvertiert die Parameter-nptr-Zeichenfolge entsprechend der Parameterbasis in eine vorzeichenlose lange Ganzzahl. Der Basisparameter reicht von 2 bis 36 oder 0. Der Parameter Basis stellt das verwendete Basissystem dar. Wenn der Basiswert 10 ist, wird das Dezimalsystem verwendet. Wenn der Basiswert 16 ist, wird das Hexadezimalsystem verwendet. Wenn der Basiswert 0 ist, wird für die Konvertierung eine Dezimalzahl verwendet. Wenn jedoch ein führendes Zeichen wie „0x“ auftritt, wird für die Konvertierung eine Hexadezimalzahl verwendet. Zu Beginn scannt strtoul() die Parameterzeichenfolge nptr, überspringt die vorangehende Leerzeichenfolge und startet die Konvertierung erst, wenn eine Zahl oder ein positives oder negatives Vorzeichen gefunden wird. Anschließend wird die Konvertierung beendet, wenn eine Nicht-Ziffer gefunden wird oder das Ende der Zeichenfolge ('') und das Ergebnis zurückgeben. Wenn der Parameter endptr nicht NULL ist, wird der Zeichenzeiger in nptr, der beendet wird, wenn unqualifizierte Bedingungen auftreten, von endptr zurückgegeben.
Parameter:
*nptr: Zu konvertierender String.
**endptr: Wenn endptr nicht NULL ist, wird der Zeichenzeiger in nptr, der beendet wird, wenn unqualifizierte Bedingungen auftreten, von endptr zurückgegeben.
Basis: die verwendete Basismethode
Rückgabewert:
unsigned long int: die konvertierte vorzeichenlose lange Ganzzahl.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie einen String in eine Zahl in C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!