OpenEdge 11.5 on Win32 / Win64.
We've put a UltraNumericEditor on a screen and set its maximum value to 100.001. The following code was generated:
DEFINE PRIVATE VARIABLE ultraNumericEditor1 AS Infragistics.Win.UltraWinEditors.UltraNumericEditor NO-UNDO. .... METHOD PRIVATE VOID InitializeComponent (): ...... THIS-OBJECT:ultraNumericEditor1:MaxValue = Progress.Util.CastUtil:ToDouble("100.001":U). .......
This works perfectly until the code is executed on a machine where the decimal symbol in the regional settings is defined as comma, rather than a full stop.
In that case, launching the program results in:
System.FormatException: Input string was not in a correct format.
In code we write ourselves, we use "System.Globalization.NumberFormatInfo:CurrentInfo:NumberDecimalSeparator" in cases like this in order to honour the user's choice of decimal symbol, but what should we do in this case?