Delphi справочник - Форум программистов - Навигация  
 A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z      По первой букве  
System     SysUtils     StrUtils     DateUtils     FileCtrl     ConvUtils     StdConvs     Math     Classes     Dialogs     Types     Variants    ПО Unit   Compiler directives     Directives     Keywords     Types     Variables     Constants     Functions     Procedures    По категории  
Подписаться на рассылку:
Клуб программистов


Основы Delphi
StrToCurr
Функция
Преобразует числовую строку в денежное выражение SysUtils unit
  
1 function StrToCurr ( CurrencyString : string ) : Currency;

2 function StrToCurr ( CurrencyString : string; const FormatSettings : TFormatSettings ) : Currency;
Описание
Функция StrToCurr конвертирует числовую строку CurrString, например '123.456' в значение с типом Currency (валюта).

Она поддерживает целый формат, формат с плавающей точкой и научный (экспоненциальный) формат.

Если в CurrString встретился символ, отделяющий целое от дроби, то он должен соответствовать текущему значению переменной DecimalSeparator.

Второй вариант этой функции предназначен для использования в потоках. Перед вызовом функции вы должны заполнить запись FormatSettings. Функция делает локальную копию глобальных переменных форматирования, что делает ее потокобезопасной.
Примечания
Исключение EConvertError выбрасывается, если есть ошибки в CurrString, типа конечных пробелов или недопустимых десятичных символов.
Похожие команды
Currency  Тип с плавающей запятой с 4 десятичными числами, используемыми для финансовых значений

CurrToStr  Преобразует денежную величину в строку

CurrToStrF  Преобразует денежную величину в строку с форматированием

Format  Богатое форматирование чисел и текста в строке

TFormatSettings  Запись для содержания региональных значений для thread-safe функций

 
Пример кода : Преобразование научного формата числовой строки
var
  stringValue : string;
  currValue   : Currency;

begin
  // Установка исходной строки, содержащую представление числа
  stringValue := '123.456E+002';

  // Её преобразование в вещественное число
  currValue  := StrToCurr(stringValue);

  // И показ значения
  ShowMessage(stringValue+' = '+CurrToStr(currValue));
end;
123.456E+002 = 12345.6
 
Пример кода : Захват ошибок строковых преобразований
var
  A : Currency;

begin
  // Мы захватим конверсионные ошибки
  try
    A := StrToCurr('10 E 2');    // Средние пробелы не поддерживаются
  except
    on Exception : EConvertError do
      ShowMessage(Exception.Message);
  end;

  try
    A := StrToCurr('$FF');    // Шестнадцатеричные значения не поддерживаются
  except
    on Exception : EConvertError do
      ShowMessage(Exception.Message);
  end;
end;
'10 E 2' is not a valid floating point value
'$FF' is not a valid floating point value
 



© Блог программистов   |  Создание и продвижение сайтов - "Веб сателлит"  |  Ссылки  |     |  Английская версия