Форум: "WinAPI";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];
ВнизРазделитель в числах real Найти похожие ветки
← →
GEN++ © (2006-04-25 23:09) [0]Как программно узнать: какой символ в системе используется
в качестве разделителя целой и дробной части "." или ","
для вывод в виде строки текста чисел в формате
"с плавающей точкой"
← →
Lamer@fools.ua © (2006-04-26 00:46) [1]GetLocaleInfo() + LOCALE_SDECIMAL
← →
AbrosimovA © (2006-04-26 08:29) [2]Пишешь
DecimalSeparator:="."
, например, в FormCreate и проблем с точкой не будет, даже если в системе в качестве разделителя установлена запятая.
← →
Чапаев © (2006-04-26 09:30) [3]
> проблем с точкой не будет, даже если в системе в качестве
> разделителя установлена запятая
Ага, а если пользователь привык, что целую и дробную часть разделяет запятая и её-родимую и жмёт? Станешь объяснять, что кульные хацкеры используют для разделения целой и дробной частей исключительно точку?
← →
Lamer@fools.ua © (2006-04-26 09:36) [4]>Пишешь DecimalSeparator:=".", например, в FormCreate и проблем с точкой не будет
Этого мало. Во-первых, ещё надо:Application.UpdateFormatSettings := False;
А во-вторых, см. [3].
← →
zaqwsx (2006-04-26 14:15) [5]
> Ага, а если пользователь привык, что целую и дробную часть
> разделяет запятая и её-родимую и жмёт? Станешь объяснять,
> что кульные хацкеры используют для разделения целой и дробной
> частей исключительно точку?
при нажатии запятой программно ставить точку.
← →
GEN++ © (2006-04-27 08:58) [6]Спасиюо всем. Все получилось
Моя пограмма генерит файл фрмата *.csv который далее
читает XL. В файле создаются числа целые и с плавющей
точкой.
← →
GanibalLector © (2006-04-28 00:31) [7]Вообще-то, не обязательно ее принудительно ставить. Ведь можно и просто считать :
case Byte(DecimalSeparator) of
44: Caption:="Preved" ;
46: Caption:="Medved";
else Caption:="Fignya";
end;
← →
antonn © (2006-04-28 10:04) [8]
function GetNormalize_text(s:string):string;
var i:integer; _b:boolean;
begin
_b:=false;
for i:=length(s) downto 1 do begin
if not(s[i] in ["0".."9"]) then
if (s[i] in [",","."]) then begin
if _b then delete(s,i,1) else begin
_b:=true;
s[i]:=DecimalSeparator;
end;
end else delete(s,i,1);
end;
if s="" then s:="0";
result:=s;
end;
нормализует текст, удаляет буквы и лишние знаки препинания:)
← →
biejo © (2006-05-08 01:23) [9]Пример. Просто, надежно.
пустая форма, одна кнопка.
...
procedure TForm1.Button1Click(Sender : TObject);
Begin
Button1.Caption:=copy(floattostr(1.1),2,1);
End;
....
нажми кнопку - получишь результат
← →
Германн © (2006-05-08 02:43) [10]
> GanibalLector © (28.04.06 00:31) [7]
>
> Вообще-то, не обязательно ее принудительно ставить. Ведь
> можно и просто считать :
Имхо, в пользовательской программе как правило, её и нужно только читать!
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 3.353 c