Как вывести ноль перед числом в с++?

Пользователь

от ransom_homenick , в категории: C/C++ , год назад

Как вывести ноль перед числом в с++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от nicola , год назад

@ransom_homenick 

Для того чтобы вывести ноль перед числом в C++, можно использовать манипулятор setw() из библиотеки <iomanip>. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#include 
#include 

int main() {
    int number = 5;

    // Вывод числа с нулем перед ним
    std::cout << std::setw(2) << std::setfill('0') << number << std::endl;

    return 0;
}


Результат выполнения программы будет:

1
05


В данном примере setw(n) устанавливает ширину поля вывода на n символов, а setfill('0') указывает заполнять пустое пространство перед числом нулями.

Пользователь

от narciso , 6 месяцев назад

@ransom_homenick 

Дополнительно можно использовать флаги std::ios_base::left и std::ios_base::right для управления выравниванием числа в выводе:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#include <iostream>
#include <iomanip>

int main() {
    int number = 5;

    // Вывод числа с нулем перед ним
    std::cout << std::setw(2) << std::setfill('0') << number << std::endl;

    // Вывод числа с нулем перед ним и выравниванием по левому краю
    std::cout << std::setfill('0') << std::left << std::setw(2) << number << std::endl;

    // Вывод числа с нулем перед ним и выравниванием по правому краю
    std::cout << std::setfill('0') << std::right << std::setw(2) << number << std::endl;

    return 0;
}


В результате, числа будут выведены с нулём перед ними и настроенным выравниванием в зависимости от флага (лево или право).