Decimal values in Architect


Architect expression grammar defines a decimal value as a number that uses a period as the decimal separator. A decimal separator is the symbol used to delineate the integral and fractional part of a decimal number. In Architect, the separator is constant on decimal input but can change when displayed outside the context of expression text or a decimal literal input.

When a flow author enters decimal values, which includes currency amounts, Architect always uses a period (.) for the decimal separator when specified as a literal or used within an expression. In places where Architect shows a decimal value outside of directly entering it in expression text or in a decimal literal input control, Architect respects the decimal separator set for the language in which the application is running.

Some languages, such as German, use a comma as the decimal separator. However, Architect expression grammar uses comma to separate parameters in function cells. Architect does not localize expression text and will not convert a decimal separator from a period to anything else. Therefore, regardless of language, flow authors will always enter a decimal separator value (for example, 7.25) and not a comma separator value (for example, 7,25).  Regardless of language, Architect will not convert a decimal separator from the period to anything else. For example, in prompt durations for user or system prompts in the prompt grids, if you were running in French that a duration of five and a half seconds would show as 5,5.

Similarly if you update the value of a currency variable to a literal amount then in the Update Data action the amount displays a comma as the decimal separator, but in the actual control where you enter the literal decimal value, it displays with a period decimal separator, because that is where the value is entered.

Since expression text is not localized, similar to most expression languages, Architect keeps the decimal separator constant between literal and expression entry. This action reduces confusion, makes copy and paste possible, and does not change the switch between literal to expression visually.