![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как? [D5]
DeNN © (2002-02-28 21:15:00)Как преобразовать переменную типа Real в переменную типа Integer? Спасибо.
alexanderK (2002-03-13 14:28:00) [1]Можешь попробовать на С. Работает без ухищрений.
float i=1.2,j;
int k=1;
j=1000-(i*k); // j=998,799987792969
Lord Warlock (2002-03-13 09:34:00) [2]В зависимости от желаня получить результат
Z := 1000 - round(X*Y);
и
Z := 1000 - round(X)*Y;
будут выдавать два разных значения
-923
и
-900
выбирай что нужнее
Yan (2002-03-01 21:28:00) [3]Можно, в принципе, для разных извращений использовать тип Variant, а потом брать из него данные нужного типа...
Андрей Сенченко (2002-03-01 13:52:00) [4]У меня работал такой вариант:
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
Тот самый Пацан (2002-02-28 23:53:00) [5]Z должно быть Real...
А потом, если хочешь вывести результат в string, то используй функцию floattostr(Z).
Например:
Label1.caption:=floattostr(Z);
SDS (2002-02-28 23:13:00) [6]Z := 1000 - round(X*Y);
или так
Z := 1000 - trunc(X*Y);
DeNN (2002-02-28 22:49:00) [7]Переменная Х - тип Real, значение 19,225
Переменная Y - тип Integer, значение 100
Требуется в третью переменную Z (Integer) записать результат:
1000 - (X * Y).
Пишет "несоответствие типов"
P.S. Извините за неккоректность. Спасибо.
lipskiy (2002-02-28 22:06:00) [8]То DeNN
Но Integer - целочисленный тип, с ним нельзя работать как с real, дробную часть куда девать то? IMHO, только округление или отбрасывание.
Song (2002-02-28 22:01:00) [9]Приведи конкретный пример какой тип к какому тебе нужно преобразовать (например в численном виде) если хочешь получить ответ на свой вопрос. Задавать корректно вопрос - пол победы!
DeNN (2002-02-28 21:57:00) [10]To lipskiy © >
Нет, не подходит. Мне надо преобразовать переменную к другому типу, а не число к ближайшему целому. Что бы я с этой переменной мог в дальнейшем работать как с переменной типа Integer.
lipskiy (2002-02-28 21:17:00) [11]Round(X) или Trunc(X) не походит?