![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
cadet05 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 6.1.2011 Репутация: нет Всего: нет |
При больших значениях целой части числа с плавающей точкой его дробная часть автоматически округляется до некоторого значения.
Например: 1. cout << 0.7851+0.3297 на выходе получается 1.1148. Здесь вопросов нет. 2. cout << 100.7851+100.3297 на выходе получается 201.115. Произошло округление числа 201.1148 до тысячных. Кто-нибудь знает, как этого избежать? |
|||
|
||||
RastaDja |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 1.11.2010 Репутация: нет Всего: 5 |
нет это не так, ничего не округляется в результируемом згачении. Округление происходит при вызове cout. попробуйте так
-------------------- The more closely you look at one thing, the less closely can you see something else. |
||||
|
|||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
чего именно? по умолчанию при форматировании вывода double в поток учитывается число значащих цифр если нужно число после запятой, а не число значащих, надо использовать fixed или scientific число цифр в обоих случаях устанавливается при помощи ios_base::precision() или setprecision() http://www.cplusplus.com/reference/iostrea...ors/scientific/ |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |