money_put::do_put

Eine virtuelle Funktion aufgerufen, um entweder Zahl oder eine Zeichenfolge in eine Zeichenfolge konvertiert, die einen Währungswert darstellt.

virtual iter_type do_put(
    iter_type _Next, 
    bool _Intl, 
    ios_base& _Iosbase,
    CharType _Fill, 
    const string_type& _Val
) const;
virtual iter_type do_put(
    iter_type _Next, 
    bool _Intl, 
    ios_base& _Iosbase,
    CharType _Fill,
    long double _Val
) const;

Parameter

  • _Next
    Ein Iterator, der das erste Element der eingefügten Zeichenfolge behandelt.

  • _Intl
    Ein boolescher Wert, der den Typ des Währungssymbols erwartet in der Sequenz angibt: true International, wenn false, wenn inländisch.

  • _Iosbase
    Ein Formatcode, wenn der Satz angibt, dass das Währungssymbol ist optional; andernfalls ist es erforderlich

  • _Fill
    Ein Zeichen, das für den Abstand verwendet wird.

  • _Val
    Ein Zeichenfolgenobjekt konvertiert werden.

Rückgabewert

Ein Ausgabeiterator die Adressen, die die Position eine über dem letzten Element hinaus erzeugt wurde.

Hinweise

Die erste geschützte virtuelle Memberfunktion generiert die sequenziellen Elemente, die bei _Next starten, um ein Währungsausgabefeld vom string_type-Objekt _Val zu erzeugen.Die Sequenz, die von _Val gesteuert wird, muss mit einem oder mehreren Dezimalstellen beginnen, optional vorangestellt von einem Minuszeichen (-), das die Menge darstellt.Die Funktion gibt einen Iterator zurück, der das erste Element über dem generierten Währungsausgabefeld hinaus festgelegt wird.

Die zweite geschützte virtuelle Memberfunktion verhält sich genauso wie das erste, außer dass er effektiv erste konvertiert _Val zu einer Sequenz von Dezimalstellen, optional von einem Minuszeichen vorangestellt, dann von den konvertiert, die wie oben sequenziell ordnen.

Das Format eines Währungsausgabefelds wird durch das Gebietsschemafacet fac bestimmt, das durch den zurückgegeben wird (effektiven) Aufruf use_facet <moneypunct<CharType, intl> > (iosbase.getloc).

Dies gilt insbesondere in folgenden Fällen:

  • fac.pos_format bestimmt die Reihenfolge, in der die Komponenten des Felds für einen nicht negativen Wert generiert werden.

  • fac.negative_format bestimmt die Reihenfolge, in der die Komponenten des Felds für einen negativen Wert generiert werden.

  • fac.curr_symbol bestimmt die Sequenz von Elementen, die für ein Währungssymbol zu generieren.

  • fac.positive_sign bestimmt die Sequenz von Elementen, um auf einen positiven Vorzeichen zu generieren.

  • fac.negative_sign bestimmt die Sequenz von Elementen, die für ein negatives Vorzeichen zu generieren.

  • fac.Gruppieren bestimmt, wie Ziffern auf der linken Seite eines beliebigen Dezimaltrennzeichen gruppiert werden.

  • fac.thousands_sep bestimmt das Element, das Zahlengruppen auf der linken Seite eines beliebigen Dezimaltrennzeichen trennt.

  • fac.decimal_point bestimmt das Element, das die ganzzahligen Ziffern aus allen Bruchsziffern trennt.

  • fac.frac_digits bestimmt die Anzahl der signifikanten Bruchsziffern auf der rechten Seite eines beliebigen Dezimaltrennzeichen.

Wenn die Zeichenzeichenfolge (fac.negative_sign oder fac.positive_sign) verfügt über mehr als ein Element, nur das erste Element generiert wird, wo das Element gleich money_base::sign im Formatmuster wird (fac.neg_format oder fac.pos_format).Alle übrigen Elemente werden am Ende des Währungsausgabefelds generiert.

Wenn iosbase.Flags &. showbase ist, die Zeichenfolge fac ungleich 0 (null).curr_symbol wird generiert, wenn das Element gleich money_base::symbol im Formatmuster angezeigt wird.Andernfalls wird kein Währungssymbol generiert.

Wenn keine Gruppenspalten Einschränkungen durch fac entstehen.Gruppierung (erstes Element hat den Wert CHAR_MAX), dann keine Instanzen von fac.thousands_sep werden im Wertsteil des Währungsausgabefelds generiert (das Element gleich money_base::value im Formatmuster angezeigt wird).Wenn fac.frac_digits ist null, dann keine Instanz von fac.decimal_point wird nach den Dezimalstellen generiert.Andernfalls gibt das resultierende Währungsausgabefeld niederwertige fac.frac_digits Dezimalstellen rechts neben dem Dezimalzeichen.

Auffüllungen auftritt was jedes numerische Ausgabefeld anbetrifft, außer dass wenn iosbase.flags &. iosbase.intern ist, jede interne Auffüllung wird generiert ungleich 0 (null), wo das Element gleich money_base::space im Formatmuster wird angezeigt, wenn es angezeigt wird.Andernfalls tritt interne Abstand vor die generierte Sequenz auf.Als Auffüllzeichen ist fill.

Die Funktion ruft iosbase.Breite(0) in der Feldbreite auf null zurückzusetzen.

Beispiel

Im Beispiel für eingefügt, in dem die virtuelle Memberfunktion durch put aufgerufen wird.

Anforderungen

Header: <locale>

Namespace: std

Siehe auch

Referenz

money_put Class