Trong C++, thư viện iomanip
cung cấp các hàm “manipulator” cho các lệnh đầu ra (cout) và đầu vào (cin).
các bài viết liên quan
Các hàm trong iomanip
cho phép bạn đặt các thiết lập định dạng cho dữ liệu đầu vào hoặc đầu ra, chẳng hạn như số lẻ/chẵn của chữ số, số lẻ/chẵn của chữ số thập phân và các thiết lập định dạng khác.
Ví dụ, để in ra một số nguyên với 3 chữ số sau dấu thập phân:
#include <iostream> #include <iomanip> int main() { double num = 3.14159; std::cout << std::fixed << std::setprecision(3) << num; return 0; }
Sẽ in ra “3.142”
Các hàm manipulator có sẵn trong iomanip có thể được sử dụng với các lệnh đầu ra và đầu vào khác nhau như :
std::setw(int) : đặt chiều rộ
ng của khoảng trắng trước giá trị đầu ra.std::setfill(char) : đặt ký tự để điền vào các khoảng trắng trước giá trị đầu ra.
std::left/std::right : đặt giá trị đầu ra bên trái hoặc bên phải trong khoảng trắng.
std::fixed/std::scientific/std::hexfloat : đặt chế độ định dạng cho giá trị thập phân.
std::setprecision(int) : đặt số lẻ/chẵn của chữ số thập phân.
std::hex/std::oct/std::dec : đặt chế độ định dạng cho số thập lục phân/bát phân/thập phân.
Các hàm manipulator trong iomanip giúp cho mã của bạn dễ đọc hơn và giảm thiểu lỗi khi đặt các thiết lập định dạng cho dữ liệu đầu vào hoặc đầu ra.
ví dụ về manipulator
Dưới đây là một vài ví dụ về cách sử dụng các hàm manipulator trong iomanip trong C++:
- In ra một số với chế độ fixed và 2 chữ số sau dấu thập phân:
#include <iostream> #include <iomanip> int main() { double num = 3.14159; std::cout << std::fixed << std::setprecision(2) << num; return 0; }
Sẽ in ra “3.14”
- In ra một số nguyên với 5 khoảng trắng trước giá trị và ký tự ‘0’ để điền vào các khoảng trắng:
#include <iostream> #include <iomanip> int main() { int num = 42; std::cout << std::setfill('0') << std::setw(5) << num; return 0; }
Sẽ in ra “00042”
- In ra một số thập phân với chế độ scientific và 4 chữ số sau dấu thập phân:
#include <iostream> #include <iomanip> int main() { double num = 123456789; std::cout << std::scientific << std::setprecision(4) << num; return 0; }
Sẽ in ra “1.235e+08”
- In ra một số thập lục phân với chế độ hex và 8 chữ số:
#include <iostream> #include <iomanip> int main() { int num = 255; std::cout << std::hex << std::setfill('0') << std::setw(8) << num; return 0; }
Sẽ in ra “000000ff”
Các hàm manipulator trong iomanip cung cấp các cách để đặt các thiết lập định dạng cho dữ liệu đầu ra hoặc đầu vào. Ví dụ như std::fixed
để đặt chế độ định dạng cho giá trị thập phân, std::setprecision(int)
để đặt số lẻ/chẵn của chữ số thập phân, std::setfill(char)
để đặt ký tự để điền vào các khoảng trắng trước giá trị đầu ra. Các hàm này giúp cho mã dễ đọc hơn và giảm thiểu lỗi khi đặt các thiết lập định dạng cho dữ liệu đầu vào hoặc đầu ra.