diff options
| -rw-r--r-- | grapher/Constants/Constants.cs | 4 | ||||
| -rw-r--r-- | grapher/Models/Fields/Field.cs | 9 |
2 files changed, 12 insertions, 1 deletions
diff --git a/grapher/Constants/Constants.cs b/grapher/Constants/Constants.cs index d669d25..5bee626 100644 --- a/grapher/Constants/Constants.cs +++ b/grapher/Constants/Constants.cs @@ -1,4 +1,5 @@ using System.Drawing; +using System.Globalization; namespace grapher { @@ -110,6 +111,9 @@ namespace grapher /// <summary> Default name of settings file. </summary> public const string DefaultSettingsFileName = @"settings.json"; + /// <summary> Style used by System.Double.Parse </summary> + public const NumberStyles FloatStyle = NumberStyles.Float | NumberStyles.AllowThousands; + #endregion Constants #region ReadOnly diff --git a/grapher/Models/Fields/Field.cs b/grapher/Models/Fields/Field.cs index 345f814..6f15525 100644 --- a/grapher/Models/Fields/Field.cs +++ b/grapher/Models/Fields/Field.cs @@ -1,5 +1,6 @@ using System; using System.Drawing; +using System.Globalization; using System.Windows.Forms; namespace grapher @@ -274,9 +275,15 @@ namespace grapher } } + public static bool TryParse(string s, out double res) + { + return double.TryParse(s, Constants.FloatStyle, NumberFormatInfo.CurrentInfo, out res) || + double.TryParse(s, Constants.FloatStyle, NumberFormatInfo.InvariantInfo, out res); + } + private void TextToData() { - if (double.TryParse(Box.Text, out double value) && + if (TryParse(Box.Text, out double value) && value <= MaxData && value >= MinData) { _data = value; |