Biçimlendirme
- C++ kursu
- Orta seviye
- Ders 98/116
- 5 dk
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
#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
#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?
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
oss << std::fixed << std::____(2) << 3.14;
oss << std::fixed << std::setprecision(2) << 3.14;
Açıklama: std::setprecision ondalık basamak sayısını ayarlar.