When i change my gateway’s locale to ‘fr_FR’ i can reproduce what 2Gi describes. Instead of modifying the value it is rounded. I think the clue to this is that the default french number format uses a space for grouping:
fr_FR: 123 456,00
I think that Ignition uses some kind of string format for internal data storage and communication between gateway and designer. Somewhere in the process of parsing those strings, the gateway locale kicks in.
The only solution so far seems to be forcing java on the gateway to use ‘en’ number format.
As changing the the java locale via windows settings seems to be unpredictable (depends on java version), i added the locale to ignition.conf:
With java seven, there is this separation between dispaly locale and format locale, so the additional parameter
may be necessary.
IA-Team: With the setting 'wrapper.java.additional.12=-Duser.language.format=fr (or =de) this is perfectly reproducable with java 7 on my system. If you are using java 7 and only change the locale, that may explain why you could not reproduce this.
The problem with the ‘tag(…)’ expressions above seem to be unrelated. It looks like the result of tag() is a string, so the addition is a string concatenation internally with the result parsed to a float.
When using ‘toFloat(tag(…))’, it works as expected. Is this the intended behaviour?
One additional remark: The gateway status shows a locale, but that is not the gateways locale but the locale of the client browser. This caused a lot of confusion to me. It would be a very good idea to display the locale used by the gateway in addition.