CodeBlanks Logo Icon CodeBlanks

Biçimlendirme

stringstream ile biçimlendirme öğrenirsin.

ostringstream ile biçimlendirme

ostringstream, <iomanip> başlığındaki araçlarla sayı biçimlendirmeyi sağlar. std::fixed ve std::setprecision ondalık basamak sayısını kontrol eder.

Örnek: oss << std::fixed << std::setprecision(2) << 3.14159;. Bu, 3.14159 sayısını "3.14" olarak yazar. std::fixed sabit nokta gösterimini, std::setprecision(2) iki ondalık basamağı belirler. std::hex onaltılık, std::setw(n) alan genişliği verir. Bu araçlarla tablo ve rapor çıktıları düzenli biçimlendirilir.

Biçimlendirme araçları

<iomanip> başlığı biçimlendirme için zengin bir araç seti sunar. std::fixed sabit nokta, std::scientific bilimsel gösterim verir.

std::setw(n) sonraki çıkışın alan genişliğini n yapar; std::setfill('0') boşluğu sıfırla doldurur. Örnek: oss << std::setw(5) << std::setfill('0') << 42; sonucu "00042" yapar. std::hex onaltılı, std::dec onlu tab ayarlar. Bu araçlar rapor ve tablo çıktılarını hizalamak için kullanılır.

Uygulama Pi'yi iki ondalıkla biçimle

Başlangıç kodunda pi değişkeni 3.14159. Bir std::ostringstream oluştur. std::fixed ve std::setprecision(2) ile pi'yi biçimle. .str() ile dizeyi al ve std::cout ile yazdır.

Başlangıç kodu

main.cpp
#include <iostream>
#include <sstream>
#include <iomanip>
#include <string>

int main() {
    double pi = 3.14159;
    // pi'yi iki ondalıkla biçimle ve yazdır

    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>
#include <sstream>
#include <iomanip>
#include <string>

int main() {
    double pi = 3.14159;
    std::ostringstream oss;
    oss << std::fixed << std::setprecision(2) << pi;
    std::cout << oss.str();
    return 0;
}

Beklenen çıktı

3.14

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 std::setprecision(2) ne yapar?

main.cpp
oss << std::fixed << std::setprecision(2) << 3.14159;
  • İki tamsayı basamak gösterir
  • İki ondalık basamak gösterir Doğru cevap
  • Alan genişliğini 2 yapar
  • Sayıyı iki katına çıkarır

Açıklama: setprecision(2) iki ondalık basamak gösterir.

2 Aracı rolüne eşle

Kavram Anlamı
std::fixed Sabit nokta
std::setprecision Ondalık basamak
std::setw Alan genişliği
std::hex Onaltılı tab

3 setprecision çağrısını tamamla

Soru
oss << std::fixed << std::____(2) << 3.14;
Cevap
oss << std::fixed << std::setprecision(2) << 3.14;

Açıklama: std::setprecision ondalık basamak sayısını ayarlar.

Orta seviye bölümündeki tüm dersler