summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authora1xd <[email protected]>2020-12-15 19:53:47 -0500
committera1xd <[email protected]>2020-12-15 19:53:47 -0500
commit95ad0545470dee98ab7a34aa10289d4ca12c2b37 (patch)
tree744d59ee4eda7791a3f1b90c14a5b579bd6ff2a7
parentMerge pull request #48 from a1xd/improve-docs (diff)
downloadrawaccel-95ad0545470dee98ab7a34aa10289d4ca12c2b37.tar.xz
rawaccel-95ad0545470dee98ab7a34aa10289d4ca12c2b37.zip
fallback on invariant format when parsing fields
by invariant meaning english-based number style, with period char as decimal separator
-rw-r--r--grapher/Constants/Constants.cs4
-rw-r--r--grapher/Models/Fields/Field.cs9
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;