FormatNumber
This function formats a string as a number.
Format patterns follow the C# format types outlined in the official Microsoft documentation:
Some of these custom formats are supported:
Arguments
FormatNumber(1,2,3)
| Ordinal | Type | Required | Description |
|---|---|---|---|
| 1 | String | True | The number string to format |
| 2 | String | True | The output format pattern (see table below for values) |
| 3 | String | False | ISO code for locale-specific pattern elements |
NOTE: By default, this function rounds half up to two decimal places.
Here are a few examples of format patterns, given a number of 123:
| Element | Format Pattern | Output |
|---|---|---|
| Currency | C or c |
$123.00 |
| Decimal | D or d |
123 |
| Exponential (scientific) | E or e |
1.230000E+002 |
| Fixed-point | F of f |
123.00 |
| General | G or g |
123 |
| Number | N or n |
123.00 |
| Percent | P or p |
12,300.00 % |
| Hexadecimal | X or x |
7B |
NOTE: The
Dpattern requires an integer for input.
Here are a few examples of custom format patterns, given a number of -1.8967:
| Element | Format Pattern | Example | Output |
|---|---|---|---|
| Zero placeholder | 0 |
"0000" |
-0002 |
| Digit placeholder | # |
"###0" |
-2 |
| Decimal point | . |
"#0.00" |
-1.90 |
| Group separator and scaling | , |
"0,00#.##" |
-0,001.9 |
| Percentage placeholder | % |
"#.00%" |
-189.67% |
| Exponential notation | E0, E+0, e0 or e+0 |
"#0.0e0" |
-19.0e-1 |
| Escape character | \ |
"\###0.000\#" |
-#1.897# |
| Literal string delimiter | 'string' or "string" |
"#.##' points'" |
-1.9 points |
| Section separator | ; |
"#0.00;(#0.00)" |
(1.90) |
Example 1
%%[
var @num
var @Currency
var @Currency3
var @Decimal
var @Exponential
var @Fixed
var @Fixed3
var @General
var @Number
var @Number3
var @Percent
var @Hex
set @num = "123"
set @Currency = FormatNumber(@num, "C")
set @Currency3 = FormatNumber(@num, "C3")
set @Decimal = FormatNumber(@num, "D")
set @Exponential = FormatNumber(@num, "E")
set @Fixed = FormatNumber(@num, "F")
set @Fixed3 = FormatNumber(@num, "F3")
set @General = FormatNumber(@num, "G")
set @Number = FormatNumber(@num, "N")
set @Number3 = FormatNumber(@num, "N3")
set @Percent = FormatNumber(@num, "P")
set @Hex = FormatNumber(@num, "X")
]%%
num: %%=v(@num)=%%
<br><br>Currency: %%=v(@Currency)=%%
<br>Currency3: %%=v(@Currency3)=%%
<br>Decimal: %%=v(@Decimal)=%%
<br>Exponential: %%=v(@Exponential)=%%
<br>Fixed: %%=v(@Fixed)=%%
<br>Fixed3: %%=v(@Fixed3)=%%
<br>General: %%=v(@General)=%%
<br>Number: %%=v(@Number)=%%
<br>Number3: %%=v(@Number3)=%%
<br>Percent: %%=v(@Percent)=%%
<br>Hex: %%=v(@Hex)=%%
Output
num: 123
Currency: $123.00
Currency3: $123.000
Decimal: 123
Exponential: 1.230000E+002
Fixed: 123.00
Fixed3: 123.000
General: 123
Number: 123.00
Number3: 123.000
Percent: 12,300.00 %
Hex: 7B
Example 2
Not a subscriber? Subscribe now.
Example 3
Not a subscriber? Subscribe now.