Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 6 300

/ вопрос закрыт /

Здравствуйте!
В эдите записано значение, к примеру: "0.05", нужно умножить его на 2.
Какие есть мысли? Очень срочно нужна помощь.. =(

Овчинников Алексей Иванович Вопрос закрыт (ответы не принимаются, мини-форум закрыт)

Вопрос задал: Овчинников Алексей Иванович (статус: Посетитель)
Вопрос отправлен: 2 ноября 2012, 21:02
Состояние вопроса: закрыт, ответов: 1.

Ответ #1. Отвечает эксперт: Quark

Здравствуйте, Овчинников Алексей Иванович!
var
x,y: variant;
begin
x := StrToFloat(Edit1.Text);
y := x*2;
Label1.Caption := y;
end;

Попробуйте. Сейчас под рукой IDE нет, не могу проверить, но по логике должно работать. Есть одна проблема - что является разделителем в дроби? Запятая или точка? В зависимости от локальных настроек оперсистемы может быть ошибка. Для гарантии, добавь к коду следующее:
uses sysutils;

begin
DecimalSeparator:='.';

Вместо точки можешь поставить запятую - на ваше усмотрение.
Итоговый вариант будет такой:

uses sysutils;

var
x,y: variant;
begin
DecimalSeparator:='.';
x := StrToFloat(Edit1.Text);
y := x*2;
Label1.Caption := y;
end;

Ответ отправил: Quark (статус: 1-ый класс)
Время отправки: 2 ноября 2012, 21:23
Оценка за ответ: 5

Комментарий к оценке: Спасибо за быстрый и верный ответ!
Всё заработало с первого раза, я очень Вам благодарен!

Мини-форум вопроса

Всего сообщений: 2; последнее сообщение — 2 ноября 2012, 21:31; участников в обсуждении: 2.
Quark

Quark (статус: 1-ый класс), 2 ноября 2012, 21:17 [#1]:

var
x,y: variant;
begin
x := StrToFloat(Edit1.Text);
y := x*2;
Label1.Caption := y;
end;

Попробуй. Сейчас под рукой IDE нет, не могу проверить, но по логике должно работать. Есть одна проблема - что является разделителем в дроби? Запятая или точка? В зависимости от локальных настроек оперсистемы может быть ошибка. Для гарантии, добавь к коду следующее:
uses sysutils;
 
begin
 DecimalSeparator:='.';

Вместо точки можешь поставить запятую - на твоё усмотрение.
Итоговый вариант будет такой:
uses sysutils;
 
var
 x,y: variant;
begin
 DecimalSeparator:='.';
 x := StrToFloat(Edit1.Text);
 y := x*2;
 Label1.Caption := y;
end;
Овчинников Алексей Иванович

Овчинников Алексей Иванович (статус: Посетитель), 2 ноября 2012, 21:31 [#2]:

Спасибо за быстрый и верный ответ!
Всё заработало с первого раза, я очень Вам благодарен!

2 ноября 2012, 21:33: Вопрос закрыт (решение принял автор вопроса — Овчинников Алексей Иванович): Вопрос решён.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:42
Выполнено за 0.04 сек.