установить точность цифр перед запятой?

Я уже смотрел это нить но он не учитывает использование отрицательных чисел, если я использую setfill (‘0’).

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
//Code
int num1;

cin >> num1;

cout << setw(5) << setfill( '0' ) << num1 << endl;

return 0;
}

Используя этот метод, если я введу «5», он будет отображаться как «00005».
Но если я введу -5, он будет отображаться как «000-5»

Как я могу это исправить, чтобы выходной сигнал был «-0005»?

3

Решение

«Символ заполнения» используется для заполнения поля до указанной ширины. По умолчанию эти символы добавляются слева, так что вывод будет право выровнены. Ты можешь использовать std::left за оставил выравнивание. Для номеров дополнительная опция std::internal заполнит пространство между знаком и действительными цифрами:

cout << setw(5) << setfill('0') << internal << -42 << endl;

http://ideone.com/Pdsz3M

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]