![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
вопрос про extended [D6, Win95/98, WinXP]
AndrX © (2002-08-28 01:52:00)Помогите начинающему с
Вот к примеру такой код
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Spin;
type
TForm1 = class(TForm)
Memo1: TMemo;
SpinEdit1: TSpinEdit;
SpinEdit2: TSpinEdit;
SpinEdit3: TSpinEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c,r:integer;
d:extended;
begin
d:=a*10+b*1/6+c*1/360;
r:=67;
memo1.Lines.Add(inttostr(r));
memo1.Lines.AddStrings(d);
end;
end.
Как сделать чтобы переменная d всё таки записывалась в memo? extended откуда взялась? Как с ней работать?
Anatoly Podgoretsky (2002-08-28 09:09:00) [1]AndrX (28.08.02 01:52)
Это твой код или у тебя просто академический вопрос?
Opuhshii (2002-08-28 07:00:00) [2]2Aleks1 (28.08.02 03:39)
не следует использовать Real48 и ключ компилятора {$REALCOMPATIBILITY ON} (без нужды)
Real <=> Double
MBo (2002-08-28 06:21:00) [3]>чтобы переменная d всё таки записывалась в memo
memo1.Lines.Add(FloatToStr(d));
см. также Format, FormatFloat, FloatToStrF
>? extended откуда взялась?
в выражении с использованием деления / результат будет вещественным числом, даже если все члены целые. Для целочисленного деления (в нужных случаях) используется Div
Aleks1 (2002-08-28 04:22:00) [4]> Billy © (28.08.02 04:08)
Лучше всего использовать наименьший по размеру, но достаточный по нему же, тип. Главное - помнить, что числа кратные 3 никак не могут быть нашими!
Billy (2002-08-28 04:08:00) [5]>Aleks1
Поэтому лучше использовать single.
Aleks1 (2002-08-28 03:39:00) [6]А вот real использовать как раз и не следует. Данный тип поддерживается лишь для совместимости с прежними версиями, а по эффективности кода - это самый худший вариант.
Denvor (2002-08-28 02:30:00) [7]Extended - самое ресурсоёмкое действительное число - занимает 10 байт. Лучше использовать real или double. Чтобы записать значение дробной переменной в строчный редактор, необходимо преобразовать его в строку FloatToStr(d).