Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.47 MB
Время: 0.051 c
1-1153308395
Youta
2006-07-19 15:26
2006.09.03
Как расположить окно поверх другого, когда выполняется длинный пр


6-1144955552
qazwsx
2006-04-13 23:12
2006.09.03
base64_encode(pack("H*", sha1(utf8_encode($_GET[ pwd ])))))


15-1154669236
Ega23
2006-08-04 09:27
2006.09.03
С Днём рождения! 4 июля. Нет. 4 августа.


15-1155231251
Мазут Береговой
2006-08-10 21:34
2006.09.03
Это хорошо, что Microsoft


15-1155291411
Ega23
2006-08-11 14:16
2006.09.03
С Днём рождения! 11 АВГУСТА





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