Работа с функциями конвертации

В SRL имеется ряд функций, которые называются функциями конвертации. Как следует из названия этого класса, такие функции конвертируют один тип данных в другие. В соответствии с типом результирующих данных, функции конвертации подразделяются на следующие группы:

  • Функции форматирования, которые конвертируют числовые данные в строковые. К ним относятся str, text, int, week, monthname, dayofweek;

  • Функции парсинга, которые конвертируют строковые данные в числовые или в данные типа "дата/время" или географические координаты. К ним относятся int, date, bool, cat;

  • Последняя группа функций конвертирует числовые данные или данные типа "дата/время" в числовые данные; для этой цели используется функция int.

Именованные аргументы в функциях конвертации

В вышеуказанных функциях конвертации используются именованные аргументы, перечень которых приведен далее:

Именованный аргумент

Значения

Описание

Функция

allow_scientific_format

По умолчанию: true

Используется для форматирования. Позволяет использовать числовой формат с индексом. В этом случае digits_after_decimal означает число значимых символов.

str, text

am_symbol:

По умолчанию: AM

Используется для форматирования.

str, text

cat_symbol:

По умолчанию: `~ ` для парсинга и `~ ` для форматирования

Для парсинга: определяет список с точкой запятой в качестве разделителя.

cat, str, text

currency_symbol

По умолчанию: $

Используется только для форматирования.

str, text

date_format

По умолчанию: MDY для парсинга и MM/dd/yyyy для форматирования

Для парсинга: устанавливается последовательность дней, месяцев и лет; для форматирования устанавливается линия форматирования.

date, str, text

date_separator

По умолчанию: '/'

Используется только для форматирования.

str, text

date_time_order

DT or TD (По умолчанию: DT)

Используется и для парсинга, и для форматирования.

date, str, text

decimal_point

По умолчанию: dot

Используется и для парсинга, и для форматирования.

int, num, str, text

digits_after_decimal

[0; 15] (default: 15)

Используется для форматирования. Число символов после запятой, либо число значимых символов.

str, text

digits_grouping

По умолчанию: 123,456,789

Используется только для форматирования.

str, text

display_leading_zeros

По умолчанию: true

Используется для форматирования. Определяет, показывать ли начальный нуль.

str, text

false_name:

По умолчанию: false;no;0 для парсинга и false для форматирования

Для парсинга: определяет список с точкой запятой в качестве разделителя.

bool, str, text

hide_zero_time

По умолчанию: false

Используется для форматирования. Скрывает время до полуночи.

str, text

integer_conversion

round, trunc, floor, ceil (По умолчанию: floor)

Определяет метод конвертации числа с плавающей запятой в целое число.

cat, int

duration_format

По умолчанию: dd.hh:mm:ss

Используется для форматирования.

str, text

language

eng, rus, esp, kor, cht, chs (По умолчанию: eng)

Влияет на парсинг и форматирование при использовании строковых значений для месяцев и дней недели.

str, text

metric_suffixes

По умолчанию: k;M;G;T;P

Используется для форматирования. Метрические суффиксы начиная с тысячи.

str, text

multiplier

> 0.0 (По умолчанию: 1)

Используется для форматирования. Множитель значения.

str, text

nan_name

По умолчанию: empty

При форматировании определяет строку для указания пропущенного значения. При парсинге включает список с точкой с запятой в качестве разделителя, например Empty;NAN;N/A

bool, cat, date, geo, int, num, str, text, uuid

negative_format

По умолчанию: -1.1 для чисел и ($1.1) для валют)

Используется только для форматирования.

str, text

pm_symbol:

По умолчанию: PM

Используется для форматирования.

str, text

positive_format

По умолчанию: 1.1 для чисел и $1.1 для валют

Используется только для форматирования.

str, text

thousands_separator

По умолчанию: comma для парсинга и empty для форматирования

Разделитель тысячных.

int, num, str, text

time_format

По умолчанию: HH:mm:ss

Используется только для форматирования.

str, text

time_separator

По умолчанию: ':'

Используется для форматирования.

str, text

true_name:

По умолчанию: true;yes;1 для парсинга и true для форматирования

Для парсинга: определяет список с точкой запятой в качестве разделителя.

bool, str, text

use_metric_suffixes

По умолчанию: false

Используется для форматирования. Позволяет использовать суффиксы.

str, text

Примеры

Данные

Функция

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

Класс функций

08:22:44 02/21/2019

str([Date], date_format:="dd/MMM/yy",language:="eng")

21/Feb/19 08:22:44

Форматирование

08:22:44 02/21/2019

str([Date], date_format:="dd/MMM/yy",language:="rus")

21/февр./19 08:22:44

Форматирование

08:22:44 02/21/2019

str([Date], date_format:="dd/MMM/yy",language:="esp")

21/feb./19 08:22:44

Форматирование

08:22:44 02/21/2019

str([Date], date_format:="dd/MMM/yy",language:="cht")

21/2月/19 08:22:44

Форматирование

08:22:44 02/21/2019

str([Date], date_format:="dd/MMM/yy",language:="chs")

21/2月/19 08:22:44

Форматирование

08:22:44 02/21/2019

str([Date], date_format:="M/d/yy")

2/21/19 08:22:44

Форматирование

08:22:44 02/21/2019

str([Date], date_format:="M/d/yyyy")

2/21/2019 08:22:44

Форматирование

08:22:44 02/21/2019

str([Date], date_format:="MM/dd/yy")

02/21/19 08:22:44

Форматирование

08:22:44 02/21/2019

str([Date], date_format:="MM/dd/yyyy")

02/21/2019 08:22:44

Форматирование

08:22:44 02/21/2019

str([Date], date_format:="MMMM dd, yyyy")

02/21/2019 08:22:44

Форматирование

08:22:44 02/21/2019

str([Date], date_format:="dd MMMM, yyyy")

21 February, 2019 08:22:44

Форматирование

08:22:44 02/21/2019

str([Date], date_format:="dd/MMM/yy")

21/Feb/19 08:22:44

Форматирование

1.545374389323564

int([Numeric], integer_conversion:="ceil")

2

Число

1.545374389323564

int([Numeric], integer_conversion:="floor")

1

Число

1.545374389323564

int([Numeric], integer_conversion:="trunc")

1

Число

1.545374389323564

int([Numeric], integer_conversion:="round")

2

Число

1.545374389323564

str([Numeric], decimal_point:="dot")

1dot54537438932356

Форматирование

234567890

str([Thousands],thousands_separator:="!")

234!567!890

Форматирование

234567890

str([Thousands])

234567890

Форматирование

234567890

str([Thousands], digits_grouping:="12,34,56,789", thousands_separator:=",")

23,45,67,890

Форматирование

234567890

str([Thousands], currency_symbol:="Money", thousands_separator:=",")

234,567,890

Форматирование

1.545374389323564

str([Numeric], digits_after_decimal:=5)

1.5454

Форматирование

1.545374389323564

str([Numeric], allow_scientific_format:=false, digits_after_decimal:=5)

1.54537

Форматирование

0.0000000159

str([Exp_zero], digits_after_decimal:=5)

1.59e-08

Форматирование

0.0000000159

str([Exp_zero], allow_scientific_format:=false, display_leading_zeros:=true)

0.000000015900000

Форматирование

0.0000000159

str([Exp_zero], allow_scientific_format:=false, display_leading_zeros:=false, digits_after_decimal:=5)

.00000

Форматирование

234567890

str([Thousands], str([Thousands], metric_suffixes:="kilo;Mega;Giga;Tera;Peta", use_metric_suffixes:=true)

234567890

Форматирование

0.0000000159

str([Exp_zero], multiplier:=3.5)

5.565e-08

Форматирование

08:22:44 02/21/2019

str([Date], date_time_order:="TD")

08:22:44 02/21/2019

Форматирование

08:22:44 02/21/2019

str([Date])

02/21/2019 08:22:44`

Форматирование

08:22:44 02/21/2019

str([Date], date_separator:="-")

02-21-2019 08:22:44

Форматирование

08:22:44 02/21/2019

str([Date], time_format:="H:mm:ss")

02/21/2019 8:22:44

Форматирование

08:22:44 02/21/2019

str([Date], time_format:="HH:mm:ss")

02/21/2019 08:22:44

Форматирование

08:22:44 02/21/2019

str([Date], time_format:="h:mm:ss tt")

02/21/2019 8:22:44 AM

Форматирование

08:22:44 02/21/2019

str([Date], time_format:="hh:mm:ss tt")

02/21/2019 08:22:44 AM

Форматирование

08:22:44 02/21/2019

str([Date], time_format:="HH:mm:ss.fff")

02/21/2019 08:22:44.000

Форматирование

32:16:54

str([Duration], duration_format:="dd day(s) hh,mm’ss''")

1 day(s) 08,16'54''

Форматирование

32:16:54

str([Duration])

1.08:16:54

Форматирование

08:22:44 02/21/2019

str([Date], time_format:="h:mm:ss tt", am_symbol:="Before noon")

02/21/2019 8:22:44 Before noon

Форматирование

08:22:44 02/21/2019

str(date(num([Date])*2), time_format:="h:mm:ss tt", pm_symbol:="Afternoon")

04/12/2068 4:45:28 Afternoon

Форматирование

00:00:00 02/21/2019

str([zero_time], hide_zero_time:=true)

02/21/2019

Форматирование

yes

str([Bool1], true_name:="good")

good

Форматирование

yes

str([Bool1])

true

Форматирование

no

str([Bool2], false_name:="bed")

bed

Форматирование

no

str([Bool2])

false

Форматирование

~7

str([Cat], cat_symbol:=">")

>7

Форматирование

~ 7

str([Cat])

~7

Форматирование

234!567!890

int([Thousands separator Column],thousands_separator:="!")

234567890

Парсинг

08:22:44 02/21/2019

date([Date time order Column], date_time_order:="TD", date_format:="MDY")

Время/дата в следующем формате: HH:MM:SS AM/PM MM/DD/YY

Парсинг

02/21/2019 08:22:44

date([Date Column])

08:22:44 02/21/2019

Парсинг

good

bool([True name Column], true_name:="good")

yes

Парсинг

bed

bool([False name Column], false_name:="bed")

no

Парсинг

>7

cat([Cat symbol Column], cat_symbol:=">")

~7

Парсинг

21/февр./19 08:22:44

date([Language Column], date_format:="DMY", language:="rus")

08:22:44 02/21/2019

Парсинг

10 / 0

int([Nunmber], nan_name:="Nan")

Nan

Форматирование

11:22:34 12/01/1969

week([date2()], first:="sun")

-4

Форматирование

11:22:34 12/01/1969

monthname([date2], language:="eng", short:=false)

December

Форматирование

11:22:34 12/01/1969

dayofweek([date2], language:="eng", short:=false)

Monday

Форматирование