Главная страница
    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.044 c
5-1152112243
Dstr
2006-07-05 19:10
2007.04.22
Лаг Delphi 7


15-1174956277
Бакук
2007-03-27 04:44
2007.04.22
Хранение форм


15-1174656149
Andre_s
2007-03-23 16:22
2007.04.22
Жидкокристаллические 17"


2-1175187133
ImageM
2007-03-29 20:52
2007.04.22
Образ гибкого диска.


15-1174894815
Kolan
2007-03-26 11:40
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский