When executing certain Nodes, interpretation of numbers, currencies and dates may be affected by the regional settings of the server (both in-Cloud and via DropPoint).
This typically manifests as a data casting or conversion problem, for example
'Error converting data type varchar to numeric' .
The problem can occur on Node invokes directly from our Cloud environment or via DropPoint. Flowgear Cloud Environments all have the Regional Setting
English (United States) . If it is necessary to use a different Regional Setting, route the Node through a DropPoint.
This article covers typical problem scenarios and provides options for addressing these issues.
Examples of Regional Setting variations
- In some countries, the decimal separator is actually a comma so the number
12.34is written as
12,34. If data is passed to a Node that expects a numeric value and the regional settings specify a comma as the decimal separator, a numeric value containing a period (
.) may be seen as non-numeric.
- A number containing a thousands separator could actually be interpreted completely incorrectly. For example
123,456could be interpreted as
- Automatic date parsing on some Nodes, apps or services may be governed by regional settings. The date
01/03/2020could be interpreted as 1 March or 3 January depending on the regional settings.
Dealing with Regional Settings-Related Issues
Modify Regional Settings
Warning: Changing Regional Settings may impact other apps and services on the server. It will also be necessary to reboot the server for changes to take effect.
If the DropPoint service is running under a named user account:
- Log in to Windows as the user account the DropPoint is running under
- Open Regional Settings by running
intl.cplfrom the Run Dialog.
- Select a different region from the
FormatChange the date and time formats from the
- If you have a problem with date parsing, modify the date formats shown on the
- If you have a problem with number or currency parsing, click
Additional Settings. Settings such as
Decimal Symbolcan be modified here
If the DropPoint service is running under a system account (
Local System ,
Local Service or
Network Service ):
- Begin by opening Regional Settings by running
intl.cplfrom the Run Dialog.
- Click the
Change system locale
- Select a new locale for system accounts. Note that it is not possible to customise options such as
Decimal Symbolunder a locale for system accounts. If you need to customise these, run the DropPoint under a named user account
Wherever possible, avoid ambiguity when presenting data. For dates, the form yyyy/mm/dd is unambiguous.
For numeric values, avoid using thousand separators (comma or space) altogether where possible.
For currencies, avoid including the currency symbol altogether, provided the target app or service is able to accept this.
Annotate Special Cases
If you are required to conform to a non-obvious way of presenting data, use a comment on your Workflow or Script to explain the purpose of the behaviour.