На этом шаге мы рассмотрим использование указанных параметров при организации форматного вывода.
В таблице 1 представлены форматные флаги showpos и uppercase, определяющие общий вид числовых значений.
Манипулятор | Описание |
---|---|
showpos | Вывод знака для положительных чисел |
uppercase | Вывод символов в верхнем регистре |
Установка флага ios::showpos означает, что положительные числа должны выводиться со знаком. Если флаг сброшен, то со знаком выводятся только отрицательные числа. Флаг ios::uppercase означает, что буквы в числовых значениях должны выводиться в верхнем регистре. Этот флаг распространяется как на целые числа, записанные в шестнадцатеричном виде, так и на вещественные числа в научной (экспоненциальной) записи. По умолчанию положительные числа выводятся без знака, а символы выводятся в нижнем регистре. Например, рассмотрим такой фрагмент:
std::cout << 12345678.9 << std::endl; std::cout.setf (std::ios::showpos | std::ios:uppercase); std::cout << 12345678.9 << std::endl;
Этот фрагмент выводит следующий результат:
1.23457е+07 +1.23457Е+07
Оба флага также можно устанавливать и сбрасывать при помощи манипуляторов, представленных в таблице 2.
Манипулятор | Описание |
---|---|
showpos | Вывод знака для положительных чисел (установка флага ios::showpos) |
noshowpos | Вывод положительных чисел без знака (сброс флага ios::showpos) |
uppercase | Вывод символов в числах в верхнем регистре (установка флага ios::uppercase) |
nouppercase | Вывод символов в числах в нижнем регистре (сброс флага ios::uppercase) |
На следующем шаге мы рассмотрим задание системы счисления.