Главная страница
    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.065 c
15-1177505791
palva
2007-04-25 16:56
2007.05.27
Геометрическая задача


2-1178381914
Lobach
2007-05-05 20:18
2007.05.27
Как корректно отобразить символ &


2-1178616901
ezorcist
2007-05-08 13:35
2007.05.27
Сохранить уменшенное изображение.


2-1178384918
Kostafey
2007-05-05 21:08
2007.05.27
Использование русских названий в тексте SQL-запроса.


15-1177575500
infom
2007-04-26 12:18
2007.05.27
Повернуть отрезок на определенный угол.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский