Про разделитель целой и дробной части...

Elmor

Знает ли кто-нибудь как в Delphi узнать какой на данной системе разделитель целой и дробной части ("." или ",")? Помогите, plz...

g200359

скомпилируй два варианта.

dfcz

Честный способ (но идет обращение к win.ini)


function GetDecimalSeparatorChar : Char;
var ch : array[0..1] of char;
begin
FillChar(ch, 2, 0);
GetProfileString('intl', 'sDecimal', '$', ch, 2);
Result := ch[0];
end;


Нечестный способ:


function GetDecimalSeparatorChar : Char;
begin
Result := FloatToStr(1.2)[2];
end;

lenabarskaya

И, наконец, правильный способ (в дельфи переписать, я надеюсь, способны?)


#define UNICODE
#include <windows.h>
#include <stdio.h>
int wmain
{
wchar_t seps[0xff];
int n_seps = GetLocaleInfo(
LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, seps, sizeof(seps) / sizeof(wchar_t;
seps[n_seps] = 0;
wprintf(seps);
return 0;
}

yolki

Самый правильный способ прочитать переменную SysUtils.DecimalSeparator
Оставить комментарий
Имя или ник:
Комментарий: