Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];

Вниз

установка real   Найти похожие ветки 

 
man   (2003-12-01 10:53) [0]

Привет всем! Такой вопрос: нужна ф-я,чтобы установить для перем. типа real целую часть = integer1,дробную - integer2. Заранее всем большое спасибо!


 
Романов Р.В.   (2003-12-01 10:58) [1]

Такой функции нет придется писать самому


 
Silver Alex   (2003-12-01 10:59) [2]

Trunc и Frac


 
Digitman   (2003-12-01 11:00) [3]

т.е. если, к примеру, Integer2 = 672, то это значение с т.з. результата следует рассматривать как "шестьсот семьдесят две тысячных" ? так что ли ?


 
Anatoly Podgoretsky   (2003-12-01 11:06) [4]

00672 :-)


 
man   (2003-12-01 11:12) [5]

Всё верно.
А если в общем случае. Формат хранения real не подскажите?


 
Anatoly Podgoretsky   (2003-12-01 11:13) [6]

Что верно?


 
REA   (2003-12-01 11:19) [7]

StrToFloat(IntToStr(IntPart)+DecimalSeparator+IntToStr(FracPart))


 
Anatoly Podgoretsky   (2003-12-01 11:26) [8]

Хранение дробной части 0.6 и 0.06 будет одинаковым - 6


 
Digitman   (2003-12-01 11:29) [9]


> man


не получится.
см.

> Anatoly Podgoretsky © (01.12.03 11:06) [4]


без 3-го параметра Integer3, отражающего кол-во результирующих значащих разрядов в дробной части будущего real-значения, преобразование не может быть осуществлено однозначно

и действительно - то ли это будет .672, то ли .0672, то ли .00672 ... совершенно ж разные результаты !


 
man   (2003-12-01 11:37) [10]

>Digitman
Согласен,пусть будет 3 параметра.


 
TUser   (2003-12-01 11:45) [11]

r:=int1+int2/(length(inttostr(int2))*10)


 
Digitman   (2003-12-01 12:02) [12]

i1:= 33;
i2:=672;
i3:=5;
s:= format("%d.%." + IntToStr(i3) + "d" , [i1, i2]);
showmessage(s);


 
man   (2003-12-01 12:02) [13]

Так что с форматом хранения,
чтоб не делать доп.преобр.,а напрямую конвертировать


 
Digitman   (2003-12-01 12:03) [14]

+

r := strtofloat(s);


 
REA   (2003-12-01 12:07) [15]

А тебе зачем? В ini файл небось записать?


 
Digitman   (2003-12-01 12:26) [16]


> а напрямую конвертировать


не занимайся ерундой
пусть за тебя этим занимается FPU - он это сделает гораздо быстрей и эффективней

function Convert(IntPart, FracPart, Prec: Integer): Real;
begin
Result := IntPart + FracPart/Power(10, Prec);
end;



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

Форум: "Основная";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
3-36499
VVVV
2003-11-20 16:33
2003.12.12
Список DBCombobox


1-36609
Bel
2003-11-29 11:47
2003.12.12
QReport - композитно-композитный отчет.


8-36769
GreySerg
2003-08-15 13:06
2003.12.12
Компоненты для работы с Mp3


1-36730
ased
2003-12-02 12:05
2003.12.12
Запуск exe для 1024x768 в 800x600


3-36506
X-filer
2003-11-22 14:31
2003.12.12
где настроить язык для таблицы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский