Главная страница
    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.46 MB
Время: 0.037 c
1-1121338766
Woolen
2005-07-14 14:59
2005.07.31
Делегаты в Delphi 2005


3-1116476782
Homa_Programer
2005-05-19 08:26
2005.07.31
MS SQL Client -> MS SQL Server


1-1121291309
Ibrox
2005-07-14 01:48
2005.07.31
Новое окно браузера


14-1121080221
NewWonder
2005-07-11 15:10
2005.07.31
Мучался всю ночь: проблема с dll


3-1119607989
Viktop
2005-06-24 14:13
2005.07.31
Добавление данных (SQL)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский