Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 052

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Вопрос такой: как сменить знак разделителя целой и дробной части числа денежной единицы?
Попытался использовать функцию DecimalSeparator, но она меняет знак разделителя для всех дробных чисел.
т.е. нужно выводить простые дробные числа в формате ххх,х
а денежные в формате ххх-ххр. Для вывода денежной единицы использую FloatToStrF(string,ffcurrency,8,2)

Чеботок Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Чеботок (статус: Посетитель)
Вопрос отправлен: 26 февраля 2011, 11:50
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

Самое простое - написать собственную функцию, в которой творить всё, что угодно.
Второй вариант - присмотреться к функции FloatToStrF(), ведь на самом деле их 2 штуки:

function FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): string; overload;
function FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer; const FormatSettings:
TFormatSettings): string; overload;
Обрати внимание на параметр FormatSettings: TFormatSettings:
type
  TFormatSettings = record
    CurrencyFormat: Byte;
    NegCurrFormat: Byte;
    ThousandSeparator: Char;
    DecimalSeparator: Char;
    CurrencyDecimals: Byte;
    DateSeparator: Char;
    TimeSeparator: Char;
    ListSeparator: Char;
    CurrencyString: string;
    ShortDateFormat: string;
    LongDateFormat: string;
    TimeAMString: string;
    TimePMString: string;
    ShortTimeFormat: string;
    LongTimeFormat: string;
    ShortMonthNames: array[1..12] of string;
    LongMonthNames: array[1..12] of string;
    ShortDayNames: array[1..7] of string;
    LongDayNames: array[1..7] of string;
    TwoDigitYearCenturyWindow: Word;
  end;
Что-то мне подсказывает, что этого вполне достаточно для удовлетворения всех твоих нужд.

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 26 февраля 2011, 12:02


Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:45
Выполнено за 0.03 сек.