Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2009, 23:01   #1
Georgios
Пользователь
 
Аватар для Georgios
 
Регистрация: 18.01.2009
Сообщений: 57
Вопрос Exp и возникшая проблема

Славные умы!

Посоветуйте, как мне, имея число 9.9987987969е-456,преобразовать в строку, ну или хотя бы так,чтобы потом можно было в строку?
Georgios вне форума Ответить с цитированием
Старый 24.04.2009, 23:19   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Функция Str(<число>,<строковая переменная>);
Для такого маленького числа нужно использовать тип extended.

ps Это для паскаля.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 24.04.2009, 23:33   #3
Georgios
Пользователь
 
Аватар для Georgios
 
Регистрация: 18.01.2009
Сообщений: 57
По умолчанию

Попробывал, пишет то же: "invalid floating point operation"

Цитата:
Для такого маленького числа нужно использовать тип extended.
Я бы с удовольствием, но у меня матрица из комплексных чисел (отдельно действительная и отдельно мнимая части). Работаю только с действительной
Georgios вне форума Ответить с цитированием
Старый 24.04.2009, 23:36   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Попробывал, пишет то же: "invalid floating point operation"
Где пишет? Приведите код. У меня все работает.
Цитата:
Я бы с удовольствием, но у меня матрица из комплексных чисел (отдельно действительная и отдельно мнимая части). Работаю только с действительной
И как представлено комплексное число? Наверняка две переменные - под действительную и мнимую части. Так? А какой тип у переменных? Понимаете, к чему я клоню?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 24.04.2009, 23:51   #5
Georgios
Пользователь
 
Аватар для Georgios
 
Регистрация: 18.01.2009
Сообщений: 57
По умолчанию

var mF : Matrix;
matd: string;
{type
Matrix = record
M, N : integer; { M - строки, N - столбцы }
Data : array of array of complex;
end;}

//необходимо вписать действительную часть матрицы
StringGrid.Cells[0,0]:=Str(mF.Data[1,1].RE, matd);
Georgios вне форума Ответить с цитированием
Старый 24.04.2009, 23:58   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Georgios
Str не возвращает значение. Она преобразует число (первый аргумент) в строку и пишет ее во второй аргумент.

Где объявление типа complex?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.04.2009, 17:43   #7
Georgios
Пользователь
 
Аватар для Georgios
 
Регистрация: 18.01.2009
Сообщений: 57
По умолчанию

type
Complex = record
Re : extended;
Im : extended;
end;
Georgios вне форума Ответить с цитированием
Старый 25.04.2009, 18:00   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вот вам пример:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var test : complex;
s : string;
begin
test.Re := 9.9987987969E-456;
Str(test.Re,s);
StringGrid1.Cells[1,1] := s;
end;
да и так тоже работает:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var test : complex;
s : string;
begin
test.Re := 9.9987987969E-456;
StringGrid1.Cells[1,1] := FloatToStr(test.Re);
end;
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.04.2009, 19:40   #9
Georgios
Пользователь
 
Аватар для Georgios
 
Регистрация: 18.01.2009
Сообщений: 57
По умолчанию

Немного недопонял ( но, огромное спасибо, буду разбираться
Georgios вне форума Ответить с цитированием
Старый 25.04.2009, 19:41   #10
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Немного недопонял
Ну вам же нужно было преобразовать это число в строку? Вот.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37
Вычисление Exp Mickle Общие вопросы Delphi 1 26.04.2007 09:34