String formatter
Modify the formatting of one or more values according to a customizable rule.
You can use the string formatter to:
- Add characters before or after a value, if the value of the source variable is numeric.
- Format and parameterize SQL queries to use in database objects.
- Link multiple strings in a series.
- Apply numeric formatting, such as decimal places or float rounding.
Properties
Property | Description |
|---|---|
Format | The formatting rule for variable reference:
|
Mode | The direction of the dynamic link:
|
Source
One or more variables identified by:
- {placeholderindex_number}
- Progressive integer equal to or greater than zero. For example,{1}
- {#placeholderplaceholder_identifier}
- String prefixed with#. For example,{#speed}
TIP:
Use any combination of placeholders in any order. Use any number of placeholders in the expression.
You can also nest placeholders
{index,alignment:format}
to dynamically change the formatting of the displayed data. For example:
- {0:f{1}}
- The variable value linked with{1}defines the number of decimal places.
- {0:{1}{2}}
- The variable value linked with{1}defines the numeric data type.
- The variable value linked with{2}defines the number of decimal places.
- {0,{1}:{2}{3}}
- The variable value linked with{1}defines the alignment.
- The variable value linked with{2}defines the numeric data type.
- The variable value linked with{3}defines the number of decimal places.
Data types
Format | Description | Example |
|---|---|---|
g | Short date and time, local |
|
F | Extended date and time, local |
|
X | Short date and time, UTC |
|
x | Extended date and time, UTC |
|
U | Complete Universal Date and Time, UTC |
|
p | Short date, local |
|
P | Extended date, local |
|
d | Short date, UTC |
|
D | Extended date, UTC |
|
t | Short time, local |
|
T | Extended time, local |
|
h | Short time, UTC |
|
H | Extended time, UTC |
|
Format | Description | Example |
|---|---|---|
d | Numerical, without thousands separator. After the format placeholder, the number of decimal places is configured with an integer (without padding). |
|
n | Numerical, with thousands separator. After the format placeholder, the number of decimal places is configured with an integer (without padding). |
|
e | Exponential notation. After the format placeholder, the number of decimal digits is configured with an
integer. |
|
f | Fixed-point notation. After the format placeholder, the exact number of decimal places is configured with an integer. |
|
p | Percentage. After the format placeholder, an integer is used to configure the number of decimal places. |
|
x | Hexadecimal notation. | 255 ► ff |
b | Binary notation. | 107 ► 1101011 |
o | Octal notation. | 56 ► 70 |
Format | Description | Example |
|---|---|---|
c | Constant format. |
|
g | General short format. |
|
G | Extended general format. |
|
Format | Description | Example |
|---|---|---|
l | All lowercase. | grüßEN ► grüßen |
u | All uppercase. | grüßEN ► GRÜSSEN |
t | All first letters uppercase. | grüßEN ► GRÜSSEN |
f | Case independent. | grüßEN ► grüssen |
Format | Description | Example |
|---|---|---|
sql_identifier | Formats a given String or LocalizedText as a table or column identifier. | - |
sql_literal | Formats the value of a variable as an SQL literal value ( Number , String , date , time , and so on). | - |
SQL queries examples
Parameterize the name of the internal column with the condition:
SELECT * FROM Table1 WHERE {0:sql_identifier} > 5
Comparison with a data variable:
SELECT * FROM AlarmsDatalogger WHERE Time > {0:sql_literal}
Parameterize the
LIKE
operator:
SELECT * FROM AlarmsDatalogger WHERE Name LIKE '{0}'
Parameterize a part of a query with a placeholder:
SELECT * FROM Table1 {0}
The placeholder with index
0
is linked to a project string variable and parameterizes a column; The placeholder with index 1
is linked to a numeric variable that represents the value for the comparison operator >
:
SELECT * FROM {0:sql_identifier} WHERE Column1 > {1:sql_literal}
Parameterize the table name, the column and also the
LIKE
operator:
SELECT {0:sql_identifier} FROM {1:sql_identifier} WHERE {0:sql_identifier} LIKE '{2}'
Path formatting
Consider these path formatting capabilities:
- To format a string as a file path, you can use this syntax:{index,alignment:.filepath}
- Input
- ns=5;%PROJECTDIR%/Logo.svg
- Output
- C:\Users\UserName\AppData\Local\Rockwell Automation\FactoryTalk Optix\Emulator\Projects\ProjectName\ProjectFiles\Logo.svg
- To format a string as a URI, you can use this syntax:{index,alignment:.uri}
- Input
- ns=5;%PROJECTDIR%/Logo.svg
- Output
- file:///C:/Users/UserName/AppData/Local/Rockwell Automation/FactoryTalk Optix/Emulator/Projects/ProjectName/ProjectFiles/Logo.svg
- To format a part of a path, you can use this syntax:file:///C:/Reports/Report.{0}.pdf
Inverse formatting
The inverse formatting feature allows you to modify a formatted value at runtime to replace the value with a new value that the application displays with the same formatting at runtime.
The inverse formatting feature requires the following settings to operate correctly:
- The dynamic linkModeof the converter must beRead/Write.
- TheFormatfield must have only one placeholder or source. The placeholder can have a suffix and/or prefix and be set with a format string such as{0:n}.
Output
The string entered in the
Format
property, based on the formatting rules with values in place of the placeholder or placeholders.Example

Provide Feedback
Read from the source node to the parent.
Write from the parent to the source node.
Read from the source node to the parent and write from the parent to the source node.