Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.31;
Скачать: CL | DM;

Вниз

типы переменных   Найти похожие ветки 

 
IgoX   (2005-07-13 13:45) [0]

Привет всем!
var fio_len :integer;
var pr      :real;
..
pr:=15/100;
fio_len:=Round(10*pr);

Всегда выдает значение 1 как бы неменял значения переменных. В delphi нерублю вот и спрашиваю а какие типы данных нужны что бы это работало правильно?


 
Kolan ©   (2005-07-13 13:48) [1]


> Всегда выдает значение

А что от раза к разу что - то vменяется.
pr = 0,15
pr * 10 = 1,5
Round(1,5) = 1;

У вас все правильно работает


 
DiamondShark ©   (2005-07-13 13:49) [2]


> Всегда выдает значение 1 как бы неменял значения переменных

Это как?


> бы это работало правильно?

Какой результат считается правильным?


 
Kray ©   (2005-07-13 13:51) [3]

хелп по roundu посмотри. там оч. красивый пример есть.
возможно проблема не в типах, а в алгоритмах округления.
Выбери по See Also в помощи для Rounda какую нито еще функцию по округлению.


 
IgoX   (2005-07-13 13:56) [4]

округление какоето непонятное.


 
Kolan ©   (2005-07-13 13:56) [5]


> нужны что бы это работало правильно?

А как правильно.

ShowMessage(IntToStr(Round(10*2))); Выдает 20 :)


 
Kolan ©   (2005-07-13 14:01) [6]

Хм у вас ошибка где то проверил
ShowMessage(IntToStr(Round(1.5)));
Выдает 2


 
evvcom ©   (2005-07-13 14:11) [7]

А кто сказал, что 15/100 = 0.15 для переменной real?


 
Kolan ©   (2005-07-13 14:29) [8]

Точно поленился не набрал. Действительно будет меньше 0,15...
:")


 
Igor_thief   (2005-07-13 14:34) [9]

Может тебе нужен SimpleRoundTo (модуль Math)?


 
IgoX   (2005-07-13 15:06) [10]

а что используется в Delphi вместо float


 
Digitman ©   (2005-07-13 15:19) [11]


> Всегда выдает значение 1 как бы неменял значения переменных


вот только врать не надо !


> округление какоето непонятное


а какое для тебя "понятное" ?

ты считаешь, что только то округление, о котором ты имеешь некое представление, и есть единственно существующее и верное округление в мире ?


 
Kolan ©   (2005-07-13 15:31) [12]

Real types + F1 в Delphi

float + F1 в C

и сравнивать



Страницы: 1 вся ветка

Текущий архив: 2005.07.31;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
1-1121388904
Antonn
2005-07-15 04:55
2005.07.31
Отскроллировать таблицу StringGrida к последней записи


14-1121167728
syte_ser78
2005-07-12 15:28
2005.07.31
Как убрать пробел?


1-1121159248
ZSergey
2005-07-12 13:07
2005.07.31
Инициализация динамического двумерного массива


9-1113307168
2Freak
2005-04-12 15:59
2005.07.31
Нужен сюжет


4-1117125568
чип
2005-05-26 20:39
2005.07.31
Как считать файл по битам?