![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
formatfloat
Konus © (2007-05-08 07:35:00)edit5.text:=FormatFloat('0.00',strtofloat(edit5.text)); //если введено число формата 4,5 , вывести 4,50
эта процедура возвращает текст вида 4,56 (да и strtofloat принимает только через запятую)
а мне надо через точку, т.е. 4.56
как можно реализовать?
ЮЮ (2007-05-08 11:08:00) [1]> Они тоже используют DecimalSeparator
Неужели?
procedure TForm1.Button1Click(Sender: TObject);
var
f: Double;
s: string;
begin
f := 3.1415;
DecimalSeparator := '.';
Str(f:10:2, s);
Memo1.Lines.Add(DecimalSeparator + ' ' + s);
DecimalSeparator := ',';
Str(f:10:2, s);
Memo1.Lines.Add(DecimalSeparator + ' ' + s);
end;
На выходе:
. 3.14
, 3.14
icWasya (2007-05-08 10:30:00) [2]>В этом случае вообще проще воспользоваться процедурой Str.
>А для чтения - Val или Read
Они тоже используют DecimalSeparator
ЮЮ (2007-05-08 09:18:00) [3]> дело в том, что данные должны сохраняться в определенном
> формате в файл
В этом случае вообще проще воспользоваться процедурой Str.
А для чтения - Val или Read
Konus (2007-05-08 08:46:00) [4]дело в том, что данные должны сохраняться в определенном формате в файл
через точку
ЮЮ (2007-05-08 08:21:00) [5]> дело в том, что программой будут пользоваться на других
> компьютерах
И если апользователь на том компьютере считает, что разделителем должна быть запятая, то и должна быть запятая. А если точка - то точка.
P.S. Перед strtofloat замени в строке . и , на DecimalSeparator
MBo (2007-05-08 08:14:00) [6]см. DecimalSeparator
Konus (2007-05-08 08:11:00) [7]дело в том, что программой будут пользоваться на других компьютерах
не будут же все настраивать как надо
может, как-то обрабатывать строку
например, ввожу 4.45, сначала точка заменяется на запятую, потом strtofloat, приводим в нужный формат, заменяем запятую на точку и выводим как надо
один только вопрос, как можно это обработать?
ЮЮ (2007-05-08 08:01:00) [8]Разделитель дробной части определяется настройками компьютера.
> а мне надо через точку
Ну так настрой компьютер как надо.