FormatNumber

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

Функция производит перекодировку и формирование числа в строковой формат, используя указанные установки. В отличие от функции NumberToStr имеет возможности, более подходящие для вывода числа в таблицы и на печать.

Синтаксис

FormatNumber(<Число>,<Нули пустой строкой (INT)>=1,<Разделитель тысяч (STRING)>="'",<Точность после точки (INT)>=2):<Результат (STRING)>

Аргументы

  • <Число> - Аргумент, числовое представление которого необходимо перекодировать.
  • <Нули пустой строкой (INT)> - (необязательный аргумент) Форматирует случай, когда первый аргумент равен нулю. Если этот параметр равен нулю, результат будет представлен как 0, иначе (по умолчанию) результат будет представлен пустой строкой.
  • <Разделитель тысяч (STRING)> - (необязательный аргумент) Задает символ или комбинацию символов, которая будет использоваться для разделения разрядов тысяч. Если разделитесь не требуется, необходимо использовать для этого аргумента пустую строку. По умолчанию, используется символ апострофа ('). К примеру, число 1234567.89 будет отформатировано с разделителем по умолчанию, как 1'234'567.89
  • <Точность после точки (INT)> - (необязательный аргумент) Округление числа до указанного количества знаков до или после точки, см. Round. По умолчанию этот параметр равен 2, что больше подходит для денежных номинаций. Если количество цифр после десятичной точки меньше указанной точности, результат будет дополнен нулями.

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

Функция всегда возвращает строку UTF-16. Если число достаточно велико, мало или близко к нулю, используется инженерная нотация для результата (с мантиссой E) и разделители тысяч не подставляются.

Примеры

Message(FormatNumber(1234567.891234567));
//Будет выведено "1'234'567.89"

Message(FormatNumber(1234567.891,," ",4));
//Будет выведено "1 234 567.8910"

Message(FormatNumber(1234567.891234567,,"",-3));
//Будет выведено "1235000"

Message(FormatNumber(0));
//Будет выведено ""