Функція StrToCurr в Delphi перетворює числовий рядок у грошовий вираз.
StrUtils unit
- function StrToCurr (CurrencyString : string) : Currency;
- function StrToCurr (CurrencyString : string; const FormatSettings : TFormatSettings) : Currency;
Функція StrToCurr конвертує числовий рядок CurrString, наприклад '123.456' в значення типу Currency (валюта). Вона підтримує цілий формат, формат із плаваючою точкою та науковий (експоненційний) формат.
Якщо в CurrString зустрівся символ, що відокремлює ціле від дробу, він повинен відповідати поточному значенню змінної DecimalSeparator.
Другий варіант цієї функції призначений для використання у потоках. Перед викликом функції потрібно заповнити запис FormatSettings. Функція робить локальну копію глобального змінного форматування, що робить її потокобезпечною.
Примітка.
Виняток EConvertError викидається, якщо є помилки в CurrString, типу кінцевих прогалин або неприпустимих десяткових символів.
Функція StrToCurr: Перетворення наукового формату числового рядка
var
stringValue : string;
currValue : Currency;
begin
// Установка вихідного рядка, що містить уявлення числа
stringValue := '123.456E+002';
// Її перетворення на речовинне число
currValue := StrToCurr(stringValue);
// І показ значення
ShowMessage(stringValue+' = '+CurrToStr(currValue));
end;
Результат
123.456E+002 = 12345.6
Функція StrToCurr: Захоплення помилок рядкових перетворень
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
Схожі функції та команди
Currency — тип з плаваючою комою з 4 десятковими числами, що використовуються для фінансових значень.
CurrToStr — перетворює грошову величину на рядок.
CurrToStrF — перетворює грошову величину на рядок з форматуванням.
Format — багате форматування чисел та тексту у рядку.
TFormatSettings — запис для змісту регіональних значень для thread-safe функцій.