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

Вниз

Как?   Найти похожие ветки 

 
DeNN   (2002-02-28 21:15) [0]

Как преобразовать переменную типа Real в переменную типа Integer? Спасибо.


 
lipskiy ©   (2002-02-28 21:17) [1]

Round(X) или Trunc(X) не походит?


 
DeNN   (2002-02-28 21:57) [2]

To lipskiy © >

Нет, не подходит. Мне надо преобразовать переменную к другому типу, а не число к ближайшему целому. Что бы я с этой переменной мог в дальнейшем работать как с переменной типа Integer.


 
Song ©   (2002-02-28 22:01) [3]

Приведи конкретный пример какой тип к какому тебе нужно преобразовать (например в численном виде) если хочешь получить ответ на свой вопрос. Задавать корректно вопрос - пол победы!


 
lipskiy ©   (2002-02-28 22:06) [4]

То DeNN
Но Integer - целочисленный тип, с ним нельзя работать как с real, дробную часть куда девать то? IMHO, только округление или отбрасывание.


 
DeNN   (2002-02-28 22:49) [5]

Переменная Х - тип Real, значение 19,225
Переменная Y - тип Integer, значение 100
Требуется в третью переменную Z (Integer) записать результат:
1000 - (X * Y).
Пишет "несоответствие типов"
P.S. Извините за неккоректность. Спасибо.


 
SDS ©   (2002-02-28 23:13) [6]

Z := 1000 - round(X*Y);
или так
Z := 1000 - trunc(X*Y);


 
Тот самый Пацан   (2002-02-28 23:53) [7]

Z должно быть Real...
А потом, если хочешь вывести результат в string, то используй функцию floattostr(Z).
Например:
Label1.caption:=floattostr(Z);


 
Андрей Сенченко ©   (2002-03-01 13:52) [8]

У меня работал такой вариант:
var
x : real;
y : integer;
begin
y := x div 1
end.

Естественно, дробная часть переменной x при этом отбрасывается, но кто видел дробные части в Integer ? Я например не видел. И если автор желает в коде
var
x : real;
y : integer;
z : // а пока не понятно
begin
x := 19,5;
y := 30
z := x - y;
end.

Получить ответ z=10,5 то переменная z безусловно не может иметь тип integer


 
Yan ©   (2002-03-01 21:28) [9]

Можно, в принципе, для разных извращений использовать тип Variant, а потом брать из него данные нужного типа...


 
Lord Warlock ©   (2002-03-13 09:34) [10]

В зависимости от желаня получить результат

Z := 1000 - round(X*Y);

и

Z := 1000 - round(X)*Y;

будут выдавать два разных значения
-923

и

-900
выбирай что нужнее


 
alexanderK   (2002-03-13 14:28) [11]

Можешь попробовать на С. Работает без ухищрений.

float i=1.2,j;
int k=1;
j=1000-(i*k); // j=998,799987792969



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

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

Наверх




Память: 0.49 MB
Время: 0.009 c
1-90823
Geser
2002-03-15 17:00
2002.03.28
Dll und function in DLL


1-90926
kronos
2002-03-13 13:50
2002.03.28
Можно ли так сравнивать?


3-90804
lightix
2002-03-04 15:38
2002.03.28
Подскажите БД + Quick Report


6-91015
Victoz
2002-01-16 12:12
2002.03.28
Как узнать название сети?


14-91039
nikols
2002-02-11 08:49
2002.03.28
Долго за компиком. Болят глаза. Кто как лечится?