Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.05.27;
Скачать: [xml.tar.bz2];

Вниз

formatfloat   Найти похожие ветки 

 
Konus   (2007-05-08 07:35) [0]

edit5.text:=FormatFloat("0.00",strtofloat(edit5.text)); //если введено число формата 4,5 , вывести 4,50

эта процедура возвращает текст вида 4,56 (да и strtofloat принимает только через запятую)
а мне надо через точку, т.е. 4.56

как можно реализовать?


 
ЮЮ ©   (2007-05-08 08:01) [1]

Разделитель дробной части определяется настройками компьютера.

> а мне надо через точку

Ну так настрой компьютер как надо.


 
Konus   (2007-05-08 08:11) [2]

дело в том, что программой будут пользоваться на других компьютерах
не будут же все настраивать как надо

может, как-то обрабатывать строку
например, ввожу 4.45, сначала точка заменяется на запятую, потом strtofloat, приводим в нужный формат, заменяем запятую на точку и выводим как надо

один только вопрос, как можно это обработать?


 
MBo ©   (2007-05-08 08:14) [3]

см. DecimalSeparator


 
ЮЮ ©   (2007-05-08 08:21) [4]

> дело в том, что программой будут пользоваться на других
> компьютерах


И если апользователь на том компьютере считает, что разделителем должна быть запятая, то и должна быть запятая. А если точка - то точка.
P.S. Перед strtofloat замени в строке . и , на DecimalSeparator


 
Konus   (2007-05-08 08:46) [5]

дело в том, что данные должны сохраняться в определенном формате в файл
через точку


 
ЮЮ ©   (2007-05-08 09:18) [6]

> дело в том, что данные должны сохраняться в определенном
> формате в файл

В этом случае вообще проще воспользоваться процедурой Str.
А для чтения - Val или Read


 
icWasya ©   (2007-05-08 10:30) [7]

>В этом случае вообще проще воспользоваться процедурой Str.
>А для чтения - Val или Read
Они тоже используют DecimalSeparator


 
ЮЮ ©   (2007-05-08 11:08) [8]

> Они тоже используют 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



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.05.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.069 c
11-1160141707
Zoom Evstrahiev
2006-10-06 17:35
2007.05.27
Зеркало для KOLCoolBar


15-1177936407
Равшан
2007-04-30 16:33
2007.05.27
Добавление элемента в сбалансированное бинарное дерево.


2-1178759137
Просто_новичок
2007-05-10 05:05
2007.05.27
запись в файл


15-1177426273
GeLLeR
2007-04-24 18:51
2007.05.27
Нужно сжать музыку...


10-1123905651
kblc
2005-08-13 08:00
2007.05.27
Как создать SingletonComServer?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский