Aracılığıyla paylaş


money_put Sınıfı

Sınıf şablonu, parasal değerlerin türündeki CharTypedizilere dönüştürülmelerini denetlemek için yerel ayar model olarak görev yapabilecek bir nesneyi açıklar.

Sözdizimi

template <class CharType,
    class OutputIterator = ostreambuf_iterator<CharType>>
class money_put : public locale::facet;

Parametreler

CharType
Bir program içindeki yerel ayarın karakterlerini kodlamak için kullanılan tür.

OutputIterator
Parasal koyma işlevlerinin kendi çıktılarının yazılacağı yineleyici türü.

Açıklamalar

Herhangi bir yerel ayar modelinde olduğu gibi, statik nesne kimliğinde depolanmış bir başlangıç sıfır değeri bulunur. Depolanan değerine erişmeye yönelik ilk deneme, kimlikte benzersiz bir pozitif değer depolar.

Oluşturucular

Oluşturucu Açıklama
money_put türündeki money_putnesneler için oluşturucu.

Tür tanımları

Tür adı Açıklama
char_type Bir yerel ayar tarafından kullanılan bir karakteri tanımlamak için kullanılan tür.
iter_type Bir çıkış yineleyiciyi açıklayan tür.
string_type türünde karakterler içeren bir dizeyi açıklayan tür CharType.

Üye işlevleri

Üye işlevi Açıklama
do_put Bir sayı ya da dizeyi parasal bir değeri temsil eden bir karakter dizisine dönüştürmek için çağrılan bir sanal işlev.
koymak Bir sayı ya da dizeyi parasal bir değeri temsil eden bir karakter dizisine dönüştürür.

Gereksinimler

Üst bilgi:<yerel ayar>

Ad alanı: std

money_put::char_type

Bir yerel ayar tarafından kullanılan bir karakteri tanımlamak için kullanılan tür.

typedef CharType char_type;

Açıklamalar

Türü, CharType şablon parametresinin eş anlamlısıdır.

money_put::d o_put

Bir sayı ya da dizeyi parasal bir değeri temsil eden bir karakter dizisine dönüştürmek için çağrılan bir sanal işlev.

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;

Parametreler

önümüzdeki
Eklenen dizenin ilk öğesini ele alan bir yineleyici.

_Intl
Dizide beklenen para birimi simgesinin türünü gösteren Boole değeri: true uluslararasıysa, false yerelse.

_Iosbase
Ayarlandığında para birimi simgesinin isteğe bağlı olduğunu gösteren biçim bayrağı; aksi takdirde,

_Doldurmak
Aralık için kullanılan bir karakter.

Val
Dönüştürülecek dize nesnesi.

Dönüş Değeri

Çıkış yineleyicisi, üretilen son öğenin ötesindeki konumu giderir.

Açıklamalar

İlk sanal korumalı üye işlevi, string_type nesne değerlerinden parasal bir çıkış alanı oluşturmak için yanından başlayarak sıralı öğeler oluşturur. Val tarafından denetlenen sıra, isteğe bağlı olarak miktarı temsil eden eksi işareti (-) ile bir veya daha fazla ondalık basamakla başlamalıdır. İşlev, oluşturulan parasal çıkış alanının ötesindeki ilk öğeyi gösteren bir yineleyici döndürür.

İkinci sanal korumalı üye işlevi ilk işlevle aynı şekilde davranır, ancak ilk olarak değeri isteğe bağlı olarak eksi işaretinden önce gelen ondalık basamak dizisine dönüştürür ve ardından bu sırayı yukarıdaki gibi dönüştürür.

Parasal çıkış alanının biçimi, moneypunct<CharType, intl>>( iosbase) use_facet<(etkili) çağrısı tarafından döndürülen yerel ayar modeli tarafından belirlenir. getloc).

Özellikle:

  • öğesine bakın. pos_format, alanın bileşenlerinin olumsuz olmayan bir değer için oluşturulma sırasını belirler.

  • öğesine bakın. neg_format, alanın bileşenlerinin negatif bir değer için oluşturulma sırasını belirler.

  • öğesine bakın. curr_symbol, bir para birimi simgesi için oluşturulacak öğe sırasını belirler.

  • öğesine bakın. positive_sign pozitif bir işaret için oluşturulacak öğe sırasını belirler.

  • öğesine bakın. negative_sign, negatif bir işaret için oluşturulacak öğe sırasını belirler.

  • öğesine bakın. gruplandırma , basamakların herhangi bir ondalık noktasının solunda nasıl gruplandırileceğini belirler.

  • öğesine bakın. thousands_sep herhangi bir ondalık noktasının solundaki basamak gruplarını ayıran öğeyi belirler.

  • öğesine bakın. decimal_point, herhangi bir kesir basamaklarından tamsayı basamaklarını ayıran öğeyi belirler.

  • öğesine bakın. frac_digits herhangi bir ondalık noktasının sağındaki önemli kesir basamaklarının sayısını belirler.

İşaret dizesinde ( fac. veya fac. ) birden fazla öğe varsa, yalnızca ilk öğe oluşturulur ve burada money_base::sign öğesine eşit öğe biçim deseninde ( fac. neg_format veya fac. pos_format).positive_signnegative_sign Kalan öğeler parasal çıkış alanının sonunda oluşturulur.

Iosbase ise. flags & showbase sıfır değil, dizeye yönelik. curr_symbolmoney_base::symbol öğesine eşit öğenin biçim deseninde göründüğü yerde oluşturulur. Aksi takdirde, hiçbir para birimi simgesi oluşturulmaz.

Fac tarafından gruplandırma kısıtlaması uygulanmazsa. gruplandırma (ilk öğesi CHAR_MAX değerine sahiptir), ardından fac örneği yoktur. thousands_sepparasal çıkış alanının değer bölümünde oluşturulur (burada money_base::value öğesine eşit öğe biçim deseninde görüntülenir). Eğer karşılarsa. frac_digitssıfırdır, ardından bir fac örneği yoktur. decimal_point ondalık basamakların ardından oluşturulur. Aksi takdirde, sonuçta elde edilen parasal çıkış alanı düşük sıralı bir görünüme yerleştirir. frac_digits ondalık ayırıcının sağındaki ondalık basamaklar.

Doldurma, iosbase olması dışında herhangi bir sayısal çıkış alanında olduğu gibi gerçekleşir. bayraklar ve iosbase. internal sıfır değildir, money_base::space öğesine eşit olan öğenin biçim deseninde göründüğü herhangi bir iç doldurma oluşturulur( görünürse). Aksi takdirde iç doldurma, oluşturulan diziden önce gerçekleşir. Doldurma karakteri dolgudur.

işlevi iosbase'i çağırır. width(0), alan genişliğini sıfıra sıfırlamak için.

Örnek

Put örneğine bakın. Burada sanal üye işlevi put tarafından çağrılır.

money_put::iter_type

Bir çıkış yineleyiciyi açıklayan tür.

typedef OutputIterator iter_type;

Açıklamalar

Tür, OutputIterator şablon parametresinin eş anlamlısı.

money_put::money_put

türündeki money_putnesneler için oluşturucu.

explicit money_put(size_t _Refs = 0);

Parametreler

_Refs
Nesne için bellek yönetimi türünü belirtmek için kullanılan tamsayı değeri.

Açıklamalar

_Refs parametresinin olası değerleri ve anlamları şunlardır:

  • 0: Nesnenin ömrü, nesnenin bulunduğu yerel ayarlar tarafından yönetilir.

  • 1: Nesnenin ömrü el ile yönetilmelidir.

  • > 1: Bu değerler tanımlanmamıştır.

Yıkıcı korunduğundan doğrudan örnek yoktur.

Oluşturucu, temel nesnesini locale::facet( _Refsile başlatır.

money_put::p ut

Bir sayı ya da dizeyi parasal bir değeri temsil eden bir karakter dizisine dönüştürür.

iter_type put(
    iter_type next,
    bool _Intl,
    ios_base& _Iosbase,
    CharType _Fill,
    const string_type& val) const;

iter_type put(
    iter_type next,
    bool _Intl,
    ios_base& _Iosbase,
    CharType _Fill,
    long double val) const;

Parametreler

önümüzdeki
Eklenen dizenin ilk öğesini ele alan bir yineleyici.

_Intl
Dizide beklenen para birimi simgesinin türünü gösteren Boole değeri: true uluslararasıysa, false yerelse.

_Iosbase
Ayarlandığında para birimi simgesinin isteğe bağlı olduğunu gösteren biçim bayrağı; aksi takdirde,

_Doldurmak
Aralık için kullanılan bir karakter.

Val
Dönüştürülecek dize nesnesi.

Dönüş Değeri

Çıkış yineleyicisi, üretilen son öğenin ötesindeki konumu giderir.

Açıklamalar

Her iki üye işlevi de do_put( , , , , val_Fill) döndürür. _Iosbase_Intlnext

Örnek

// money_put_put.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>

int main()
{
    std::locale loc( "german_germany" );
    std::basic_stringstream<char> psz;

    psz.imbue(loc);
    psz.flags(psz.flags() | std::ios_base::showbase); // force the printing of the currency symbol
    std::use_facet<std::money_put<char> >(loc).put(std::basic_ostream<char>::_Iter(psz.rdbuf()), true, psz, ' ', 100012);
    if (psz.fail())
        std::cout << "money_put() FAILED" << std::endl;
    else
        std::cout << "money_put() = \"" << psz.rdbuf()->str() << "\"" << std::endl;
}
money_put() = "EUR1.000,12"

money_put::string_type

türünde karakterler içeren bir dizeyi açıklayan tür CharType.

typedef basic_string<CharType, Traits, Allocator> string_type;

Açıklamalar

türü, nesneleri kaynak dizideki öğe dizilerini depolayan sınıf şablonunun basic_string özelleştirilmesini açıklar.

Ayrıca bkz.

<yerel ayar>
model sınıfı
C++ Standart Kitaplığında İş Parçacığı Güvenliği