FormatCurrency

From SunFlurry wiki
Jump to: navigation, search
  FormatCurrency (Функции работы со строками)
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в строку, число, переполнение
Визуальность:Нет

Функция создает прописное представление денежной номинации по указанным правилам, для указанной валюты, используя указанный язык. Величина числа, которое можно прописать таким образом ограничено словарем профайла прописи (см. описание второго аргумента), если число выходит за пределы словаря, будет вызвано исключение. Функция принимает отрицательные числа. В случае отрицательного числа, результат будет начинаться со слова минус (для русского языка). Лишняя дробная часть (за пределами двух знаков) будет округлена перед операцией. Результат всегда представляется в нижнем регистре.

Синтаксис

FormatCurrency(<Число>,<Режим (INT)>=0,<Тип валюты (STRING)>="USD",<Язык форматирования (STRING)>):<Результат (STRING)>

Аргументы

  • <Число> - Аргумент, числовое представление которого необходимо превратить в пропись денежной номинации.
  • <Режим (INT)> - (необязательный аргумент) Режим создания прописи. 0 -- (по умолчанию) цифры задаются без прописи (пример: 1 доллар 22 цента), 1 -- основные единицы задаются прописью, сотые доли (копейки, центы и пр.) задаются без прописи (пример: один доллар 22 цента), 2 -- все единицы задаются прописью (пример: один доллар двадцать два цента), 3 -- не использовать пропись, использовать знаки денежных единиц вместо их наименований (пример: $1.22), 4 -- основные единицы задаются прописью, сотые доли (копейки, центы и пр.) задаются без прописи, сотые доли имеют ведущий ноль, если это необходимо (пример: один доллар 02 цента).
  • <Тип валюты (STRING)> - (необязательный аргумент) Три буквы, задающий валюту форматирования в латинской нотации. По умолчанию USD, также могут используется RUB, EUR. Прописи для существующих и новых валют задаются в файлах профайла Common.<язык>.sfs, см. описание языка форматирования.
  • <Язык форматирования (STRING)> - (необязательный аргумент) Две буквы языка форматирования в латинской нотации. По умолчанию используется язык умолчания сборки или язык, заданный функцией SelectLanguage. Словарь перевода задан в файлах профайла, находящихся в подпапке Profiles папки клиента. Файлы имеют формат UTF-16 с BOM. Файлы должны иметь наименование Common.<язык>.sfs. Т.е., для словая русского языка используется файл Common.ru.sfs, английского Common.en.sfs. Файл словаря содержит кроме слов, связанных с созданием прописи чисел и прописи наименований валют также слова для превращения в текстовый формат даты и времени и пр.

Возвращаемое значение

Функция всегда возвращает строку UTF-16.

Примеры

Message(FormatCurrency(1234567.889,2,"RUB","ru"));
//Будет выведено "один миллион двести тридцать четыре тысячи пятьсот шестьдесят семь рублей восемьдесят девять копеек"

Message(FormatCurrency(1234567.889,1,"USD","ru"));
//Будет выведено "один миллион двести тридцать четыре тысячи пятьсот шестьдесят семь долларов 89 центов"

Message(FormatCurrency(1234567.889,0,"EUR","en"));
//Будет выведено "1234567 euros 89 cents"

Message(FormatCurrency(1234567.02,3,"EUR","en"));
//Будет выведено "€1234567.02"

Message(FormatCurrency(0,2,"RUB","ru"));
//Будет выведено "ноль рублей ноль копеек"