10 Haziran 2019 Pazartesi

std::put_money

Giriş
Bu metod ile para formatlanır. Parametre olarak verilen para miktarı long double veya string ve kuruş biriminden olmalıdır.

Kullanım
Şöyle yaparız
out << put_­money(mon, intl);
Örnek
Şöyle yaparızlong long l = 3184900000;
std::cout.imbue(std::locale("de_DE.utf8"));

// output: '3.184,90' <- ok, nice! how to get this into a string?
std::cout << std::right << std::put_money(l / 10000.0, true);
Örnek
std::put_money() metodunun ne döndürdüğü belirsiz. Elimizde şöyle bir kod olsun.
struct money_putter {
  long double value;

  template<class charT, class traits>
  friend std::basic_ostream<charT, traits>& operator<<(
    std::basic_ostream<charT, traits>& os, const money_putter& mon) {
    return os << std::put_money(mon.value);
  }
};
Şöyle yaparız
int values[] = {1, 2, 3};
std::transform(
  std::begin(values), std::end(values),
  std::experimental::make_ostream_joiner(std::cout, ", "),
    [](int i)  {
      return money_putter{i};  // or i + 1
    }
);


Hiç yorum yok:

Yorum Gönder