Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> String -> Real 
:(
    Опции темы
MaxiFOBOS
Дата 28.5.2006, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 28.5.2006

Репутация: нет
Всего: нет



У меня небольшой траббл!!! Ну вот всё перепробовал!!! Короче задача такая!!! В строчной переменной (string) у меня получается значение числовое в виде дясятичной дробе (0,3879 или шо то вроде -0,345345).Короче надо как то полноценно сконвертировать это значение в переменную real типа. Иными словами : как сконвертить real значение в стринговой переменной в real тип переменной(string to real  smile )???  

Это сообщение отредактировал(а) MaxiFOBOS - 28.5.2006, 23:30
PM MAIL   Вверх
skyboy
Дата 29.5.2006, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 4
Всего: 260



StrToFloat?  
PM MAIL   Вверх
Palladin
Дата 29.5.2006, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



ну вроде так вот
strtodloat и floattostr

пример

var
x:string;
y:real;
begin

x:='0,238562';
y:=strtofloat(x);
end;


должно пахать.... 


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
Mechanic
Дата 29.5.2006, 08:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 5.5.2006
Где: Kharkov, Ukraine

Репутация: 6
Всего: 7



Код

DecimalSeparator := ',';
try
   f := StrToFloat(s);
except
   ShowMessage(s + ' is not a valid floating value :(');
end;


Добавлено @ 08:07 
Or for no Exceptions:

Код

var s: string; f: real; e: integer;
begin
    Val(s, f, e);
    if e <> 0 then
        ShowMessage(s + ' is not a valid floating value :(');
end;

Этот метод универсальнее, т.к. годится и для целых, и для плавающих. К тому же, он понимает шестнадцатиричные числа, начинающиеся с "$". Только точку нужно, но не запятую в качестве DecimalSeparator.  
--------------------
Tell me the extensions of the files You backup and I'll tell You who You are..  ©Mch  
PM   Вверх
skyboy
Дата 29.5.2006, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 4
Всего: 260



Mechanic, ну, запятую на точку можно заменить RaplceStr - и всё будет путём smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0517 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.