Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Ошибки с типами данніх


Автор: YuraDoc 7.4.2007, 21:26
У меня переменная например типа double каким-то образом, при обработке неким алгоритмом
должна быть представленным a=0.2, а представляется с мусором a=0.20000000843
Вот такая ерунда. Помогите кто может!!!!!!!!!!

Автор: bsa 7.4.2007, 21:31
Попробуй использовать модификаторы форматирования:
Код
printf("%.2f", var);
Кстати, любое число с плавающей точкой имеет "мусор" при переводе в десятичную систему счисления из двоичной.

Автор: nickless 7.4.2007, 23:23
На форуме было уже несколько подобных тем, http://forum.vingrad.ru/topic-128228/index.html

Автор: Goganchic 9.4.2007, 10:53
Вообще, правильнее сказать, что это не ошибка, а особенность, т.к. в любой классической книжке по программированию на Си об этом сказано и исправлять такую особенность никто по умолчанию не собирается smile Так что, мой тебе совет - читай умные книжки

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)