Strings, Numbers and Currency Functions
All the functions are in camel case. The following is the sample JSON will be used in the examples
The following is the sample JSON for all the examples
data = {
"company_name": "Nakatomi Trading Corp",
"total_amount": 82542.56,
"date": "2021-09-30",
"items": [
{
"name": "Brand Guide",
"man_hour": 2,
"unit": "hour",
"unit_price": 120.0,
"item_total": 240.0
},
{
"name": "Software Development",
"man_hour": 17,
"unit": "hour",
"unit_price": 20.0,
"item_total": 340.0
},
{
"name": "Landing Page Design",
"man_hour": 5,
"unit": "hour",
"unit_price": 20.0,
"item_total": 80.0
}
]
}Number Functions
max
It returns the largest-valued number.
Usage
max(`field`, `array`)Parameters
| Parameter | Type | Description |
| field | string | Property name of the an object in an array |
| array | array | An array |
Example
{{ max("man_hours", data.items) }}Output
17min
It returns the lowest-valued number.
Usage
min(`field`, `array`)Parameters
| Parameter | Type | Description |
| field | string | Property name of the an object in an array |
| array | array | An array |
Example
{{ min("man_hours", data.items) }}Output
2sum
It returns the sum of values.
Usage
sum(`field`, `array`)Parameters
| Parameter | Type | Description |
| field | string | Property name of the an object in an array |
| array | array | An array |
Example
{{ sum("man_hours", data.items) }}Output
23sumArray
It returns the sum of values.
Usage
sumArray(`numeric_array`)Parameters
| Parameter | Type | Description |
| numeric_array | array | Array of float values |
Example
{{ sumArray([1,2,3,4,5]) }}Output
15average
It returns the average value
Usage
average(`field`, `array`)Parameters
| Parameter | Type | Description |
| field | string | Property name of the an object in an array |
| array | array | An array |
Example
{{ average("man_hours", data.items) }}Output
8asArray
It flattens the values of the field of arrayas a single-dimensional array.
Usage
asArray(`field`, `array`)Parameters
| Parameter | Type | Description |
| field | string | Property name of the an object in an array |
| array | array | An array |
Example
{{ average("man_hours", data.items) }}Output
[2, 17, 5]count
It returns the size/length of an array.
Usage
count(`array`)Parameters
| Parameter | Type | Description |
| array | array | An array |
Example
{{ count(data.items) }}Output
3String Functions
upperCase
It converts the specified string to uppercase letters.
Usage
upperCase(`strval`)Parameters
| Parameter | Type | Description |
| strval | string | A string |
Example
{{ upperCase(data.company_name) }}Output
NAKATOMI TRADING CORPlowerCase
It converts the specified string to lowercase letters.
Usage
lowerCase(`strval`)Parameters
| Parameter | Type | Description |
| strval | string | A string |
Example
{{ lowerCase(data.company_name) }}Output
nakatomi trading corpisNullOrEmpty
It indicates whether the specified string is null or an empty string ("").
Usage
isNullOrEmpty(`strval`)Parameters
| Parameter | Type | Description |
| strval | string | A string |
Example
{{ isNullOrEmpty(data.company_name) }}Output
falseifNull
It returns a specified value(nullValueReplacement) if the input(val) is null, undefined or empty.
Otherwise, this function returns the original value(val).
Usage
ifNull(`val`, `nullValueReplacement`)Parameters
| Parameter | Type | Description |
| val | string | A string |
| nullValueReplacement | string | if the input(val) is null nullValueReplacement will be return |
Example 1
{{ ifNull(data.unknownField, 'N/A') }}Output
N/AExample 2
{{ ifNull(data.company_name, 'N/A') }}Output
Nakatomi Trading CorptruncateString
It truncates a string to the specified length.
Usage
truncateString(`strval`, `length`, `ending`)Parameters
| Parameter | Type | Description |
| strval | string | A string |
| length | integer | Max length of the string |
| ending | string | Optional and default to ..., suffix that exceeds the length |
Example
{{ truncateString(data.company_name, 10) }}Output
Nakatomi T...Format number
format
It formats a number and returns a formatted string.
Usage
format(`number`, `type`, `format`)Parameters
| Parameter | Type | Description |
| number | number | A number |
| type | string | use “number” |
| format | string | Visit numeraljs for details |
Number format
| Number | Format | Output |
| 10000 | ‘0,0.0000’ | 10,000.0000 |
| 10000.23 | ‘0,0’ | 10,000 |
| 10000.23 | ‘+0,0’ | +10,000 |
| -10000 | ‘0,0.0’ | -10,000.0 |
| 10000.1234 | ‘0.000’ | 10000.123 |
| 100.1234 | ‘00000’ | 00100 |
| 1000.1234 | ‘000000,0’ | 001,000 |
| 10 | ‘000.00’ | 010.00 |
| 10000.1234 | ‘0[.]00000’ | 10000.12340 |
| -10000 | ‘(0,0.0000)’ | (10,000.0000) |
| -0.23 | ‘.00’ | -.23 |
| -0.23 | ‘(.00)’ | (.23) |
| 0.23 | ‘0.00000’ | 0.23000 |
| 0.23 | ‘0.0[0000]’ | 0.23 |
| 1230974 | ‘0.0a’ | 1.2m |
| 1460 | ‘0 a’ | 1 k |
| -104000 | ‘0a’ | -104k |
| 1 | ‘0o’ | 1st |
| 100 | ‘0o’ | 100th |
Currency format
| Number | Format | String |
| 1000.234 | ‘$0,0.00’ | $1,000.23 |
| 1000.2 | ‘0,0[.]00 $’ | 1,000.20 ||1001|′ 0,0[.]00’ |
| -1000.234 | ‘($0,0)’ | ($1,000) |
| -1000.234 | ‘$0.00’ | -1000.23||1230974|′( 0.00 a)’ |
Visit numeraljs for details
Example
{{ format(data.total_amount, "number", "$0,0.0000") }}Output
$82,542.5600Use Numeral library to format
Use Numeraljs in the expression
Visit numeraljs for details
Example
{{ numeral(1000).format('0,0') }}Output
1,000Format currency with locale
Usage
{{ Number(`numeric_value`).toLocaleString(`locale`, {minimumFractionDigits: 2}) }}| Locale | Output |
| ar-BH ,ar-EG ,ar-IQ ,ar-JO ,ar-KW ,ar-LB ,ar-OM ,ar-QA ,ar-SA ,ar-SD ,ar-SY ,ar-YE | ١٨٬٩٢٣٬٤٠٠٫٨٩ |
| ar-DZ ,ar-LY ,ar-MA ,ar-TN ,az-Cyrl-AZ ,bs-Cyrl-BA ,ca-ES ,da-DK ,de-DE ,de-LU ,el-CY ,el-GR ,es-AR ,es-BO ,es-CL ,es-CO ,es-EC ,es-ES ,es-PY ,es-UY ,es-VE ,fr-LU ,hr-BA ,hr-HR ,id-ID ,in-ID ,es-ES ,it-IT ,ms-BN ,nl-BE ,nl-NL ,pt-BR ,ro-mo ,ro-RO ,sl-SI ,sr-BA ,sr-CS ,sr-Cyrl-BA ,sr-Cyrl-CS ,sr-Cyrl-ME ,sr-Cyrl-RS ,sr-Latn-BA ,sr-Latn-CS ,sr-Latn-ME ,sr-Latn-RS ,sr-ME ,sr-RS ,sr-sp ,tr-TR ,vi-VN | 18.923.400,89 |
| bg-BG ,cs-CZ ,de-AT ,en-ZA ,es-CR ,et-EE ,fi-FI ,fr-CA ,hu-HU ,lt-LT ,lv-LV ,nb-NO ,no-no ,pl-PL ,pt-PT ,ru-mo ,ru-RU ,sk-SK ,sv-FI ,sv-SE ,uk-UA ,uz-Cyrl-UZ | 18 923 400,89 |
| bn-BD ,bn-IN | ১,৮৯,২৩,৪০০.৮৯ |
| de-CH ,de-LI ,it-CH | 18’923’400.89 |
| en-IN ,gu-IN ,hi-IN ,ml-IN ,ta-IN ,te-IN | 1,89,23,400.89 |
| fa-IR ,prs-AF | ۱۸٬۹۲۳٬۴۰۰٫۸۹ |
| fr-BE ,fr-CH ,fr-FR ,fr-MC | 18 923 400,89 |
| mr-IN | १,८९,२३,४००.८९ |
Syntax
{{ Number(123400.89).toLocaleString('de-DE', {minimumFractionDigits: 2}) }}Output
18.923.400,89