Форум программистов, компьютерный форум CyberForum.ru

Вывод определенного количества знаков до запятой - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.70
Seatless
1 / 1 / 0
Регистрация: 19.06.2011
Сообщений: 24
21.06.2011, 17:44     Вывод определенного количества знаков до запятой #1
Как в С++ с помощью оператора cout выводить число с нужным мне количеством знаков ДО запятой? Т.е. например выводятся числа < 100, при этом числа от 0 до 9 выводятся в виде 00 - 09. Т.е. нужен аналог std::setprecision(), только наоборот)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
co6ak
Кошковед
 Аватар для co6ak
402 / 495 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
21.06.2011, 17:50     Вывод определенного количества знаков до запятой #2
эм. а лупануть в цикле остаток от деления что б выдерал?

3123 % 100 = 23;

количество разрядов также можно сосчитать, что б подходил ко всем разрядам


n = 3223 % 10 ;//= 3 ;
cout << (n < 10 ? "0" : "" ) << n << endl;
Seatless
1 / 1 / 0
Регистрация: 19.06.2011
Сообщений: 24
21.06.2011, 18:05  [ТС]     Вывод определенного количества знаков до запятой #3
Так я тоже думал, но удобней как-то было бы оператор готовый взять) В языке С например в операторе printf() после % можно указывать количество знаков как до, так и после запятой, а тут такого нет? =(
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
21.06.2011, 18:24     Вывод определенного количества знаков до запятой #4
Seatless, ну-ка ну-ка, как при помощи printf вывести вместо 12345 число 12300?
Seatless
1 / 1 / 0
Регистрация: 19.06.2011
Сообщений: 24
21.06.2011, 18:38  [ТС]     Вывод определенного количества знаков до запятой #5
Никак. Вообще я имел в виду, что printf выводит 0 на месте недостающих разрядов ( например не 123, а 0123 ), но сейчас проверил и действительно не работает так, а просто отступы ставятся =(
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
21.06.2011, 18:48     Вывод определенного количества знаков до запятой #6
Ну, вообще-то нули слева не проблема. Это %04d
Ну а вывод целых чисел до сотен это: value/100*100
Округление положительных чисел до сотен: (value+50)/100*100

Добавлено через 2 минуты
А по поводу исходного вопроса, сейчас подберём. Я всё время забываю, setw setfill или как они там.

Добавлено через 1 минуту
C++
1
cout << setw(2) << setfill('0') << 5 << endl;
Yandex
Объявления
21.06.2011, 18:48     Вывод определенного количества знаков до запятой
Ответ Создать тему
Опции темы

Текущее время: 03:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru