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

Вниз

вопрос про extended   Найти похожие ветки 

 
AndrX   (2002-08-28 01:52) [0]

Помогите начинающему с
Вот к примеру такой код

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 откуда взялась? Как с ней работать?


 
Denvor ©   (2002-08-28 02:30) [1]

Extended - самое ресурсоёмкое действительное число - занимает 10 байт. Лучше использовать real или double. Чтобы записать значение дробной переменной в строчный редактор, необходимо преобразовать его в строку FloatToStr(d).


 
Aleks1   (2002-08-28 03:39) [2]

А вот real использовать как раз и не следует. Данный тип поддерживается лишь для совместимости с прежними версиями, а по эффективности кода - это самый худший вариант.


 
Billy ©   (2002-08-28 04:08) [3]

>Aleks1
Поэтому лучше использовать single.


 
Aleks1   (2002-08-28 04:22) [4]

> Billy © (28.08.02 04:08)
Лучше всего использовать наименьший по размеру, но достаточный по нему же, тип. Главное - помнить, что числа кратные 3 никак не могут быть нашими!


 
MBo ©   (2002-08-28 06:21) [5]

>чтобы переменная d всё таки записывалась в memo

memo1.Lines.Add(FloatToStr(d));

см. также Format, FormatFloat, FloatToStrF

>? extended откуда взялась?

в выражении с использованием деления / результат будет вещественным числом, даже если все члены целые. Для целочисленного деления (в нужных случаях) используется Div


 
Opuhshii ©   (2002-08-28 07:00) [6]

2Aleks1 (28.08.02 03:39)
не следует использовать Real48 и ключ компилятора {$REALCOMPATIBILITY ON} (без нужды)

Real <=> Double


 
Anatoly Podgoretsky ©   (2002-08-28 09:09) [7]

AndrX (28.08.02 01:52)
Это твой код или у тебя просто академический вопрос?



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

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

Наверх




Память: 0.48 MB
Время: 0.01 c
1-26994
Yasha
2002-08-29 12:57
2002.09.09
Слайд-шоу


7-27240
kmc
2002-06-26 14:47
2002.09.09
Пробелмы с печатью на лезерных принтерах


3-26888
michael_b
2002-08-20 09:12
2002.09.09
безопастность и санкционирование доступа


14-27216
Дремучий
2002-08-15 12:57
2002.09.09
Надо помочь девушке....


7-27250
Doctor Deejay
2002-05-23 19:42
2002.09.09
Подскажите! очень нужно!