Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.03;
Скачать: CL | DM;

Вниз

Разделитель в числах 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 вся ветка

Текущий архив: 2006.09.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.042 c
2-1155552509
lex67
2006-08-14 14:48
2006.09.03
Сильнозагружается процессор


2-1155197280
Nikos
2006-08-10 12:08
2006.09.03
ComboBox в ячеке StringGrid


15-1154813020
a new
2006-08-06 01:23
2006.09.03
Подскажите Жаваскрипт прячущий ссылку?


15-1154952780
ПЛОВ
2006-08-07 16:13
2006.09.03
Проблемы с сервисом


1-1153655572
P_Alex
2006-07-23 15:52
2006.09.03
XLReport 4