การจัดรูปแบบผลลัพธ์ด้วย iomanip
ควบคุมความกว้าง ความแม่นยำ การจัดแนว และฐานตัวเลขด้วยส่วนหัว iomanip
การจัดรูปแบบผลลัพธ์ด้วย iomanip เป็นบทเรียน C++ Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C++ Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C++ Academy มีบทเรียนทั้งหมด 4 บทเรียน
ส่วนหัว iomanip
ส่วนหัว <iomanip> มี ตัวจัดรูปแบบ ซึ่งเป็นออบเจ็กต์พิเศษที่ส่งผ่านสตรีมเข้า cout เพื่อเปลี่ยนสถานะการจัดรูปแบบ
std::setw: ความกว้างฟิลด์
std::setw(n) กำหนดความกว้างขั้นต่ำสำหรับฟิลด์ ถัดไป เท่านั้น โดยค่าที่สั้นกว่าจะถูกเติมให้เต็มความกว้าง
#include <iomanip>
std::cout << std::setw(10) << "Name" << std::setw(5) << "Age\n";
std::cout << std::setw(10) << "Ada" << std::setw(5) << 36 << "\n";std::setfill: อักขระเติม
โดยค่าเริ่มต้น setw จะเติมด้วยช่องว่าง เปลี่ยนอักขระเติมด้วย setfill โดยการตั้งค่านี้จะคงอยู่จนกว่าจะเปลี่ยน
std::cout << std::setfill('0') << std::setw(4) << 42;
// 0042std::left และ std::right
จัดแนวข้อความภายในฟิลด์ setw โดยค่าเริ่มต้นจะจัดชิดขวา
std::cout << std::left << std::setw(10) << "Ada" << "|\n";
std::cout << std::right << std::setw(10) << "Ada" << "|\n";std::setprecision
ควบคุมจำนวนเลขนัยสำคัญ หรือจำนวนตำแหน่งทศนิยมเมื่อใช้ร่วมกับ std::fixed
double pi = 3.14159265;
std::cout << std::setprecision(4) << pi << "\n"; // 3.142
std::cout << std::fixed << std::setprecision(2) << pi; // 3.14Fixed Scientific Hexfloat
สลับรูปแบบตัวเลขด้วย std::fixed, std::scientific และ std::hexfloat
double x = 12345.6789;
std::cout << std::scientific << x << "\n"; // 1.234568e+04
std::cout << std::fixed << x << "\n"; // 12345.678900ฐานของจำนวนเต็ม: hex oct dec
พิมพ์จำนวนเต็มในฐานที่แตกต่างกัน std::showbase จะเพิ่มคำนำหน้า (0x, 0)
int n = 255;
std::cout << std::hex << n << "\n"; // ff
std::cout << std::oct << n << "\n"; // 377
std::cout << std::dec << n << "\n"; // 255 (default)std::boolalpha
พิมพ์ค่าบูลีนเป็นคำแทนที่จะเป็น 1/0
std::cout << std::boolalpha << true << "\n"; // true
std::cout << std::noboolalpha << true << "\n"; // 1ตัวจัดรูปแบบมีผลต่อเนื่อง
ตัวจัดรูปแบบส่วนใหญ่จะมีผลต่อไปจนกว่าจะเปลี่ยนค่า setw เป็นข้อยกเว้น เพราะมีผลกับฟิลด์ถัดไปเท่านั้น
std::quoted สำหรับสตริงที่ปลอดภัย
std::quoted จาก <iomanip> ครอบสตริงด้วยเครื่องหมายอัญประกาศคู่และหลีกอักขระอัญประกาศที่อยู่ภายใน เหมาะอย่างยิ่งสำหรับบรรทัดบันทึกการทำงาน
std::string name = "Ada \"Countess\"";
std::cout << std::quoted(name);
// "Ada \"Countess\""C++20 std::format
C++20 สมัยใหม่แทนที่การใช้ iomanip ส่วนใหญ่ด้วย std::format ซึ่งเป็น API รูปแบบเดียวกับ printf ที่ปลอดภัยด้านชนิดข้อมูล
#include <format>
std::cout << std::format("{:>10} | {:.2f}\n", "pi", 3.14159);ตรวจสอบอย่างรวดเร็ว
ต้องเรียกใช้ตัวจัดรูปแบบใดซ้ำสำหรับฟิลด์ผลลัพธ์แต่ละฟิลด์
ทบทวน
<iomanip> มีตัวจัดรูปแบบสำหรับความกว้าง ความละเอียด การจัดแนว ฐานตัวเลข และการใส่อัญประกาศ setw มีผลต่อแต่ละฟิลด์ ส่วนตัวอื่น ๆ มีผลต่อเนื่อง ใน C++20 ควรเลือกใช้ std::format เพื่อการจัดรูปแบบที่อ่านง่ายขึ้น
เรียนรู้ C++ ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 51
- บทเรียน
- 203
คำถามที่พบบ่อย
บทเรียน “การจัดรูปแบบผลลัพธ์ด้วย iomanip” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การจัดรูปแบบผลลัพธ์ด้วย iomanip” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C++ Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C++ Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การจัดรูปแบบผลลัพธ์ด้วย iomanip”
ควบคุมความกว้าง ความแม่นยำ การจัดแนว และฐานตัวเลขด้วยส่วนหัว iomanip คุณปฏิบัติ C++ Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C++ Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน C++ Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “การจัดรูปแบบผลลัพธ์ด้วย iomanip” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน C++ Academy นี้ได้ไหม
ได้ บทเรียน C++ Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การใช้ std::cin และ std::cout อย่างถูกต้อง
- การจัดรูปแบบผลลัพธ์ด้วย iomanip
- การอ่านข้อมูลเข้าอย่างปลอดภัยด้วย getline
- การทำงานกับ std::cerr และ std::clog