Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.046 c
15-1175004987
oldman
2007-03-27 18:16
2007.04.22
Яндекс ответа не дает, прошу туда не посылать...


15-1175134911
Slider007
2007-03-29 06:21
2007.04.22
С днем рождения ! 29 марта


15-1175116013
iZEN
2007-03-29 01:06
2007.04.22
Есть ли в природе просмотрщик VSD (Visio) файлов ?


6-1153968464
FFx01
2006-07-27 06:47
2007.04.22
Не посылается письмо размером больше 6 кб


15-1175114591
ProgRAMmer Dimonych
2007-03-29 00:43
2007.04.22
Посоветуйте, как перевести...





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