Arhnt |
Отправлено: 06.04.2004, 13:16 |
|
Не зарегистрирован
|
Доброго времени суток
Вот такая проблема,
CODE |
#include <stdio.h>
int main(int argc, char* argv[])
{
double x=(0.6), y=0.8, z;
z=double(x+y);
printf("%3.3f %3.3f %3.3f \n",x,y,z);
return 0;
}
|
И результат вывода такой
Среда разработки Kylix (bcb под Линукс)
Может кто сталкивался? А то у меня уже слёзы на глазах наварачиваются |
|
olegenty |
Отправлено: 06.04.2004, 13:51 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
напоминает глюк. создал консольное приложение, код работает на ура, выдаёт, что ему и полагается по определению.
|
|
Arhnt |
Отправлено: 06.04.2004, 16:22 |
|
Не зарегистрирован
|
Угу, если я этот код компилю стандартным gcc то всё работает как надо.
Может в Билдере есть какие параметры округления? или опции компилятора? |
|
Aptem |
Отправлено: 06.04.2004, 17:09 |
|
Мастер участка
Группа: Участник
Сообщений: 349
|
Например, у меня была такая проблема:
CODE | float x;
x = 6/3;
ShowMessage ( x );
|
Выдает одни нули, оказывается нужно было сделать так:
Тогда работает как часы !
|
|
.piero |
Отправлено: 06.04.2004, 20:22 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 62
|
Весь прикол может быть в том, что в линухе неправильно работают всякие float & double Версия ещё не идеальная , а может в том что надо запятые ставить . Других причин не знаю .
|
|
Георгий |
Отправлено: 06.04.2004, 21:37 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
как мне помнится — формат в printf задаётся иначе:
CODE | %<общее число позиций>.<позиции после запятой>f |
поэтому, что бы вывести 3 символа до запятой и 3 после надо написать 7.3
т.е. 3 до точки, 3 после точки + точка (тоже один символ)
Отредактировано Георгий — 06/04/2004, 22:40 |
|
klen |
Отправлено: 07.04.2004, 00:14 |
|
Машинист паровоза
Группа: Участник
Сообщений: 239
|
Не надо грязи на Linux, и на глюки всякие, ребята, смотрю я на ваш код который вы приводите и вспоминаюпоговорку "Компьтор делает только то что просит программист, а не то что он хочет".
Просто с приведением типов не разобрались и с форматированием, и сразу глюки, баги, да еще на Linux наехали, у меня между прочем он без перезагрузки уже 1,5 года х..рит, и хоть бы хны, винт горел, меняли по живому!
Мужики, только без обид.
Удачи.
Отредактировано klen — 07/04/2004, 01:17 |
|