#include <iostream>
#include <iomanip>
int main() {
double amount = 1234.567;
std::cout << "Amount: " << std::setprecision(2) << std::fixed << amount << std::endl;
return 0;
}
Увеличение читаемости кода
В целом, использование библиотеки Iomanip позволяет значительно увеличить читаемость кода, делая его более структурированным и понятным. Это позволяет ускорить процесс отладки, сопровождения и понимания кода другими разработчиками.
Управление выравниванием данных
double number = 10.12345;
std::cout << std::setprecision(2) << number << std::endl;
double number = 10.12345;
std::cout << std::setw(10) << std::setprecision(2) << number << std::endl;
Установка базы системы счисления
Для установки базы системы счисления используется функция setbase(). В качестве аргумента передается основание системы счисления: 2 для двоичной, 8 для восьмеричной и 16 для шестнадцатеричной. Например, следующий код устанавливает базу восьмеричной системы:
std::cout << std::setbase(8) << 42;
Результат выполнения этого кода будет равен числу 52, так как 42 в восьмеричной системе записывается как 52.
Видео:15. Использование библиотеки iomanipСкачать
Также с помощью функции setbase() можно установить базу обратно в десятичную систему счисления. Для этого передаем аргумент 10:
std::cout << std::setbase(10) << 52;
Результатом будет число 52, так как в этом случае база установлена в десятичную систему.
Перед использованием функции setbase() необходимо подключить библиотеку iomanip:
#include <iomanip>
Также для удобства можно задать ширину числа и заполнение нулями с помощью функций setw() и setfill(). Например, следующий код устанавливает ширину числа 5 и заполняет его нулями:
Видео:12 Как ровно вывести данные C++ Функция setw(n) Библиотека iomanip Как сделать ровную таблицу в С++Скачать
std::cout << std::setw(5) << std::setfill('0') << 42;
Результатом выполнения этого кода будет число 00042.
Форматирование даты и времени
Например, чтобы вывести текущую дату и время в формате "дд.мм.гггг чч:мм:сс", можно использовать следующий код:
#include <iostream> #include <iomanip> #include <ctime> int main() { std::time_t now = std::time(nullptr); std::tm* current_time = std::localtime(&now); std::cout << "Текущая дата и время: " << std::setfill('0') << std::setw(2) << current_time->tm_mday << "." << std::setfill('0') << std::setw(2) << current_time->tm_mon + 1 << "." << current_time->tm_year + 1900 << " " << std::setfill('0') << std::setw(2) << current_time->tm_hour << ":" << std::setfill('0') << std::setw(2) << current_time->tm_min << ":" << std::setfill('0') << std::setw(2) << current_time->tm_sec << std::endl; return 0; }
Научная нотация используется для представления очень больших или очень маленьких чисел. В научной нотации число представляется в виде мантиссы, умноженной на 10 в некоторой степени.
Пример использования:
#include <iostream>
#include <iomanip>
int main() {
double number = 123456789.0;
std::cout << std::scientific << number << std::endl;
return 0;
}
Результат работы программы:
1.234568e+008
В данном примере число 123456789.0 было выведено в научной нотации с помощью манипулятора std::scientific. Мантисса числа равна 1.234568, а степень равна 8.
Работа с шестнадцатеричными числами
Библиотека iomanip в C++ предоставляет удобные инструменты для работы с шестнадцатеричными числами. Шестнадцатеричная система счисления использует 16 символов (от 0 до 9 и от A до F) для представления чисел от 0 до 15. Эта система особенно полезна при работе с памятью компьютера, так как каждый байт данных может быть представлен двумя шестнадцатеричными символами.
#include
#include
int main() {
int num = 255;
std::cout << std::hex << std::setw(2) << std::setfill('0') << num << std::endl;
return 0;
}
#include
#include
int main() {
std::cout << std::hex << std::setfill('0');
int num = 255;
std::cout << std::setw(2) << num << std::endl;
num = 15;
std::cout << std::setw(2) << num << std::endl;
return 0;
}
ff |
0f |
Включение символов позиционирования
Преимущества использования символов позиционирования из библиотеки Iomanip включают:
Для использования интернационализации необходимо подключить заголовочный файл <iomanip> и использовать соответствующие манипуляторы.
std::cout << std::put_money(1234567890) << std::endl;
Этот код выведет денежное значение в формате, соответствующем текущему региональному формату. Например:
Видео:ПОТОКИ ВВОДА ВЫВОДА | cout И ФЛАГИ iomanip | ИЗУЧАЕМ С++ ВМЕСТЕСкачать
1 234 567,89 ₽ (для русской локали)
1.234.567,89 € (для немецкой локали)
📹 Видео
vector | Библиотека стандартных шаблонов (stl) | Уроки | C++ | #1Скачать
C++. Форматированный ввод и выводСкачать
Работа с файлами с++. Запись в файл. c++ ofstream. Изучение С++ для начинающих. Урок #115Скачать
Урок 3. Итог предыдущих уроков. Библиотеки. Заголовочные файлы. Другие типы ввода, вывода данных.Скачать
C++. Консольный ввод-выводСкачать
10 Как вывести на экран С++, считать с клавиатуры С++, Что такое библиотека iostream, cout endl cinСкачать
C++ для НастиСкачать
Создание статической и динамической библиотек Visual Studio C++Скачать
STL Алгоритмы сортировки | Бинарный предикат | Лямбда функции | C++ STL Уроки | #13Скачать
C++ | Вывод числового рядаСкачать
Итераторы STL | Библиотека стандартных шаблонов (stl) | Уроки | C++ | #2Скачать
Язык C++ 5 советов/трюков по коду.Скачать
#18. Генерация псевдослучайных чисел. Функции математической библиотеки | Язык C для начинающихСкачать
#12 Статические библиотеки (заголовочные файлы) С++Скачать
С++ | СОЗДАНИЕ DLL БИБЛИОТЕКИ | НЕЯВНОЕ СВЯЗЫВАНИЕСкачать
Потоковый ввод вывод в файл c++. Перегрузка операторов. Изучение С++ для начинающих. Урок #119Скачать
КАК ЧИТАТЬ И ПОНИМАТЬ С/C++ КОД?Скачать