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

Вниз

FloatToStr и TFormatSettings - проблема с ThousandSeparator   Найти похожие ветки 

 
Undertaker-wwf   (2007-02-22 19:16) [0]

Хочу преобразовать число с плавающей точкой в строку, и чтобы "разделитель тысяч" был, например, "." (точка).
Делаю это так:

procedure TMyCalcForm.SetIndicatorValue(Value: Double);
var
 StringValue: string;
 FormatSettings: TFormatSettings;
begin
 GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, FormatSettings);
 FormatSettings.DecimalSeparator := ",";
 FormatSettings.ThousandSeparator := ".";
 StringValue := FloatToStr(Value, FormatSettings);
 IndicatorMemo.Text := StringValue;
end;

Если вызвать SetIndicatorValue(12109810.05);
то IndicatorMemo.Text будет содержать "12109810,05", т. е. не то что я ожидаю. В чём дело? Смотрел код функции FloatToStr - в ней стоит вызов фунции FloatToText, которая написана на ассемблере. В ассемблере я почти не разбираюсь и не могу отследить логику работы FloatToText.


 
Johnmen ©   (2007-02-22 22:53) [1]

Не парь себе мОзги...
procedure TMyCalcForm.SetIndicatorValue(Value: Double);
var
 SaveDecimalSeparator, SaveThousandSeparator : char;
begin;
 SaveDecimalSeparator:=DecimalSeparator;
 SaveThousandSeparator:=ThousandSeparator;
 DecimalSeparator:=",";
 ThousandSeparator:=".";
 IndicatorMemo.Text:=FormatFloat("#,##0.00",Value);
 DecimalSeparator:=SaveDecimalSeparator;
 ThousandSeparator:=SaveThousandSeparator;
 end;



Страницы: 1 вся ветка

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

Наверх




Память: 0.46 MB
Время: 0.046 c
15-1175247187
Vlad Oshin
2007-03-30 13:33
2007.04.22
HTML. Размер шрифта в таблице. Как задать сразу для всей таблицы?


1-1172147339
Dmitry_177
2007-02-22 15:28
2007.04.22
MYITEM перевести с С++ на Delphi


2-1175619430
Kostafey
2007-04-03 20:57
2007.04.22
ComboBox


15-1175070915
Менеджер Ольга
2007-03-28 12:35
2007.04.22
ВАКАНСИЯ


6-1162023817
Sinkler
2006-10-28 12:23
2007.04.22
VPN соеденение