| 
| 
 | Вопрос # 341/ вопрос решён / | 
 |  Подскажите, пожалуйста, каким образом можно преобразовывать данные из String в Real? Ответ #1. Отвечает эксперт: Aymenel Здравствуйте, Васильев Алексей Александрович!function StrTofloat(const S: string): Extended;
 Пример использования:
 var
 S: string;
 R: real;
 begin
 S := 3,14;
 R := StrToFloat(S);
 end;
 
|  | Ответ отправил: Aymenel (статус: 2-ой класс)Время отправки: 23 февраля 2007, 18:41
 Оценка за ответ: 5
 |  Ответ #2. Отвечает эксперт: Вадим К varr:real;
 s:string;
 i:integer;
 begin
 r:=strtofloat(s);//разделитель-запятая, если у вас русская Windows. Для английской - точка
 Val(s,r,i);
 //Разделитель всегда точка. Эта процедура не генерит ошибки в случае невозможности преобразовать. Переменная i равна будет нулю, если при преобразовании небыло ошибок.
 В противном случае собержит номер символа, который "непонравился". Содержимое переменной-результата при этом считается неопределённым.
 
 ====
 Матчасть неучим?
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 23 февраля 2007, 18:42
 Оценка за ответ: 5
 |  Ответ #3. Отвечает эксперт: Лукьяненко Алексей Валериевич В качестве варианта, чтоб не видеть ошибки и при этом получать хоть что-то, можно использовать StrToFloatEx(Value: String; Default: Extended)последний параметр - значение по-умолчанию, которое возвращается, если Value не является корректным float значением.
 
 Мини-форум вопросаВсего сообщений: 4; последнее сообщение — 23 февраля 2007, 19:32; участников в обсуждении: 3. 
|   | Шарайчук Сергей Олександрович (статус: 2-ой класс), 23 февраля 2007, 18:38 [#1]:Попробуй так val(s,a,cod),s-строка, а-real, cod-integer, змінна цілого типу використовується для запису коду помилки якщо така існує, функція val перетворює сторку s в число типу real і присвоює його змінній a! Я бы изменил мир, но Бог не дает исходники! |  
|   | Aymenel (статус: 2-ой класс), 23 февраля 2007, 18:49 [#2]:Добавлю к сказанному господином Шарайчук. В переменную Cod будет занесен ноль в случае успешного завершения преобразования или номер позиции, в которой произошла ошибка. Для строк с ограничивающим нулем номер похиции возвращается на единицу больше, чем для строки, представленной как массив символов (String).
 Эта процедура может быть использована и для преобразования строки в целое число.
 |  
|   | Шарайчук Сергей Олександрович (статус: 2-ой класс), 23 февраля 2007, 18:57 [#3]:Федоров Роман Сергеевич, спасибо за дополнение, если можеш, дай ответ на мой  Вопрос #342 Я бы изменил мир, но Бог не дает исходники! |  31 января 2011, 19:22: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |