Форум: "Основная";
Текущий архив: 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