◐ Shell
clean mode source ↗

std::num_get – cppreference.com

Aus cppreference.com

<metanoindex/>

<tbody> </tbody>

definiert in Header

<locale>

template< class CharT, class InputIt = std::istreambuf_iterator<CharT> > class num_get;

Klasse std::num_get kapselt die Regeln für das Parsen von String-Darstellungen der Werte des Typs bool, unsigned short, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double und void*. Die Standard-Formatierung Eingabe-Operatoren (wie cin >> n;) die std::num_get Facette des I / O-Streams locale, um den Text Darstellungen der Zahlen zu analysieren .

Original:

Class std::num_get encapsulates the rules for parsing string representations of values of type bool, unsigned short, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, and void*. The standard formatting input operators (such as cin >> n;) use the std::num_get facet of the I/O stream's locale to parse the text representations of the numbers.

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

cpp/locale/locale/facet

Inheritance diagram

Type Anforderungen

Spezialisierungen

Zwei Spezialisierungen und zwei partielle Spezialisierungen werden durch die Standard-Bibliothek zur Verfügung gestellt und werden von allen locale Objekte in einem C + +-Programm erstellt implementiert:

Original:

Two specializations and two partial specializations are provided by the standard library and are implemented by all locale objects created in a C++ program:

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

definiert in Header <locale>

std::num_get<char>

erzeugt eine enge String-Parsing von Zahlen

Original:

creates narrow string parsing of numbers

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

std::num_get<wchar_t>

schafft breite Zeichenfolgenanalyse von Zahlen

Original:

creates wide string parsing of numbers

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

std::num_get<char, InputIt>

erzeugt eine enge String-Parsing von Zahlen mithilfe von benutzerdefinierten Eingabe-Iterator

Original:

creates narrow string parsing of numbers using custom input iterator

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

std::num_get<wchar_t, InputIt>

schafft breite Zeichenfolgenanalyse von Zahlen mithilfe von benutzerdefinierten Eingabe-Iterator

Original:

creates wide string parsing of numbers using custom input iterator

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Mitglied Typen

Mitglied Typ

Original:

Member type

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Definition
char_type CharT
iter_type InputIt

Member-Funktionen

baut eine neue num_get Facette

Original:

constructs a new num_get facet

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(öffentliche Elementfunktion)

zerstört sich eine num_get Facette

Original:

destructs a num_get facet

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(geschützt Member-Funktion)

Beruft do_get

Original:

invokes do_get

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(öffentliche Elementfunktion)

Mitglied widerspricht

static std::locale::id id

ID des Gebietsschemas

Original:

id of the locale

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(öffentliche Member-Objekt)

Geschützt Member-Funktionen

parst eine Nummer aus einem Eingabestrom

Original:

parses a number from an input stream

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(virtuellen geschützten Member-Funktion)

Beispiel

#include <iostream>
#include <locale>
#include <string>
#include <sstream>
#include <iterator>
int main()
{
    std::string de_double = "1.234.567,89";
    std::string us_double = "1,234,567.89";

    // parse using streams
    std::istringstream de_in(de_double);
    de_in.imbue(std::locale("de_DE"));
    double f1;
    de_in >> f1;

    std::istringstream us_in(de_double);
    us_in.imbue(std::locale("en_US.UTF-8"));
    double f2;
    us_in >> f2;

    std::cout << "Parsing " << de_double << " as double gives " << std::fixed
              << f1 << " in de_DE locale and " << f2 << " in en_US\n";

    // use the facet directly
    std::istringstream s3(us_double);
    s3.imbue(std::locale("en_US.UTF-8"));
    auto& f = std::use_facet<std::num_get<char>>(s3.getloc());
    std::istreambuf_iterator<char> beg(s3), end;
    double f3;
    std::ios::iostate err;
    f.get(beg, end, s3, err, f3);
    std::cout << "parsing " << us_double
              << " as double using raw en_US facet gives " << f3 << '\n';
}

Output:

Parsing 1.234.567,89 as double gives 1234567.890000 in de_DE locale and 1.234000 in en_US
parsing 1,234,567.89 as double using raw en_US facet gives 1234567.890000

Siehe auch

definiert numerische Satzzeichen Regeln

Original:

defines numeric punctuation rules

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(Klassen-Template) [edit]

Formate numerische Werte für die Ausgabe als Zeichenfolge

Original:

formats numeric values for output as character sequence

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(Klassen-Template) [edit]

Extrakte formatierte Daten

Original:

extracts formatted data

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(öffentliche Elementfunktion of std::basic_istream) [edit]