Форум: "Основная";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
ВнизДесятичный разделитель Найти похожие ветки
← →
Hogo (2003-06-21 08:01) [0]Здраствуйтею. Как узнать какой используется разделитель "," или "." в текущей винде?
← →
Palladin (2003-06-21 08:05) [1]DecimalSeparator
← →
Hogo (2003-06-21 08:26) [2]2 Palladin
т.е. так-как это перменная, то можно установить вначале программы, что допустим десятичный разделитель всегда у меня будет "."?
← →
Palladin (2003-06-21 08:29) [3]да, но это только для твоего приложения... естественно региональные настройки ты этим присовением не изменишь, имей ввиду.
← →
ЮЮ (2003-06-21 08:34) [4]Если изменишь, то - да, а если просто прчитаешь, то узнаешь, какой он был в Винде во время запуска твоего приложения
← →
Hogo (2003-06-21 08:55) [5]
> Palladin © (21.06.03 08:29)
> да, но это только для твоего приложения... естественно региональные
> настройки ты этим присовением не изменишь, имей ввиду.
Ну и пусть главное что я буду знать что "." это разделитель:)
2 All
Спасибо!
← →
Palladin (2003-06-21 09:15) [6]
> Hogo © (21.06.03 08:55)
ну а зачем тогда ты его собрался менять?
← →
Hogo (2003-06-21 10:35) [7]
> Palladin © (21.06.03 09:15)
> > Hogo © (21.06.03 08:55)
> ну а зачем тогда ты его собрался менять?
Для преобразования из строки в десятичное число.
Что бы точно знать что написал "0.22" и тебе не выдасть ошибку что это не флоат.
Вот у меня в XP разделитель ","
у друга 98 и разделитель "."
← →
Anatoly Podgoretsky (2003-06-21 10:51) [8]Ничего писать для этого не надо, задача пользователя, он знает какой у него разделитель в системе. Это прерогатива пользователя, программисту тут делать нечего.
← →
AbrosimovA (2003-06-23 09:35) [9]
> Что бы точно знать что написал "0.22" и тебе не выдасть
> ошибку что это не флоат.
> Вот у меня в XP разделитель ","
> у друга 98 и разделитель "."
Если тебя это беспокоит, то поменяй в Региональных настройках
разделитель с "," на "."
Из опыта своей работы с различными программами я сделал для себя вывод, что меньше проблем, если разделителем будет точка.
← →
Sandman25 (2003-06-23 10:23) [10]Я часто использую такую конструкцию в OnKeyPress компонент, в которые могут вводиться нецелые числа.
if Key in [".",","," "] then Key := DecimalSeparator;
Теперь пользователю можно не беспокоиться, что у него установлено.
← →
Vit@ly (2003-06-23 10:46) [11]Var CurrentDecimalSeparator: Char;
...
CurrentDecimalSeparator:= DecimalSeparator;
...
Case CurrentDecimalSeparator of
".": begin
...
end;
",": begin
...
end;
end;
← →
AbrosimovA (2003-06-23 10:52) [12]if Key in [","] then Key := ".";
← →
Anatoly Podgoretsky (2003-06-23 11:03) [13]AbrosimovA (23.06.03 09:35)
Неверный вывод, этот подход как раз приводит к большим проблемам. Меньше всего проблем если используется региональные настройки.
← →
AbrosimovA (2003-06-23 11:16) [14]
> Anatoly Podgoretsky © (23.06.03 11:03)
> Меньше всего проблем если используется региональные настройки.
Так я и предлагаю поменять разделитель именно в Региональных настройках.
← →
Anatoly Podgoretsky (2003-06-23 11:38) [15]А я и большинство пользователей компьютера категорически против таких одаренных программистов. Не твое - не трогай.
← →
AbrosimovA (2003-06-23 11:43) [16]
> Anatoly Podgoretsky © (23.06.03 11:38)
А чьё это.
← →
Vit@ly (2003-06-23 12:32) [17]Добавлю для большей убедительности
Form1.onClose
DecimalSeparator:= CurrentDecimalSeparator;
Восстанавливаем исходный.
← →
Sandman25 (2003-06-23 12:57) [18]Vit@ly
Делайте лучше так.
char OldSeparator;
begin
OldSeparator := DecimalSeparator;
DecimalSeparator := "."; // или ",", смотря что нужно.
try
...//
finally
DecimalSeparator := OldSeparator;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c