std::atof
Von cppreference.com
| Definiert in Header <cstdlib> |
||
| double atof( const char* str ); |
||
Interpretiert einen Gleitkommawert in einer Byte-Zeichenkette, auf die str zeigt.
Die Funktion verwirft beliebige Leerzeichen (wie von std::isspace bestimmt), bis das erste Nicht-Leerzeichen gefunden wird. Dann nimmt sie so viele Zeichen wie möglich, um eine gültige Gleitkommadarstellung zu bilden, und konvertiert sie in einen Gleitkommawert. Der gültige Gleitkommawert kann einer der folgenden sein:
- Dezimale Gleitkomma-Ausdrücke. Sie bestehen aus den folgenden Teilen:
- (optional) Vorzeichen (+ oder -)
- Nichtleere Sequenz von Dezimalziffern, die optional ein Dezimaltrennzeichen enthält (wie von der aktuellen C Locale bestimmt) (definiert den Significand)
- (optional)
eoderEgefolgt von einem optionalen Minus- oder Pluszeichen und einer nichtleeren Sequenz von Dezimalziffern (definiert den Exponenten zur Basis 10)
|
(seit C++11) |
- Andere Ausdrücke, die von der aktuell installierten C Locale akzeptiert werden könnten.
Inhalt |
[edit] Parameter
| str | - | Zeiger auf die nullterminierte Byte-Zeichenkette, die interpretiert werden soll |
[edit] Rückgabewert
double Wert, der dem Inhalt von str bei Erfolg entspricht. Wenn der konvertierte Wert außerhalb des Bereichs des Rückgabetyps liegt, ist der Rückgabewert undefiniert. Wenn keine Konvertierung durchgeführt werden kann, wird 0.0 zurückgegeben.
[edit] Beispiel
Führen Sie diesen Code aus
#include <cstdlib> #include <iostream> int main() { std::cout << std::atof("0.0000000123") << '\n' << std::atof("0.012") << '\n' << std::atof("15e16") << '\n' << std::atof("-0x1afp-2") << '\n' << std::atof("inF") << '\n' << std::atof("Nan") << '\n' << std::atof("invalid") << '\n'; }
Ausgabe
1.23e-08 0.012 1.5e+17 -107.75 inf nan 0
[edit] Siehe auch
| (C++11)(C++11)(C++11) |
konvertiert einen String in einen Gleitkommawert (function) |
| konvertiert einen Byte-String in einen Gleitkommawert (Funktion) | |
| (C++17) |
konvertiert eine Zeichensequenz in einen Ganzzahl- oder Gleitkommawert (Funktion) |
| (C++11) |
konvertiert einen Byte-String in einen Ganzzahlwert (Funktion) |
| C-Dokumentation für atof
| |