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
 



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