From 95ad0545470dee98ab7a34aa10289d4ca12c2b37 Mon Sep 17 00:00:00 2001
From: a1xd <68629610+a1xd@users.noreply.github.com>
Date: Tue, 15 Dec 2020 19:53:47 -0500
Subject: fallback on invariant format when parsing fields
by invariant meaning english-based number style, with period char as decimal separator
---
grapher/Constants/Constants.cs | 4 ++++
grapher/Models/Fields/Field.cs | 9 ++++++++-
2 files changed, 12 insertions(+), 1 deletion(-)
(limited to 'grapher')
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
/// Default name of settings file.
public const string DefaultSettingsFileName = @"settings.json";
+ /// Style used by System.Double.Parse
+ 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;
--
cgit v1.2.3
From 94671432cbd332e99b92daeaacb4b59a761fb9b3 Mon Sep 17 00:00:00 2001
From: a1xd <68629610+a1xd@users.noreply.github.com>
Date: Tue, 22 Dec 2020 21:51:04 -0500
Subject: rename tryparse, add type
---
grapher/Models/Fields/Field.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'grapher')
diff --git a/grapher/Models/Fields/Field.cs b/grapher/Models/Fields/Field.cs
index 6f15525..fe5171b 100644
--- a/grapher/Models/Fields/Field.cs
+++ b/grapher/Models/Fields/Field.cs
@@ -275,7 +275,7 @@ namespace grapher
}
}
- public static bool TryParse(string s, out double res)
+ public static bool TryParseDouble(string s, out double res)
{
return double.TryParse(s, Constants.FloatStyle, NumberFormatInfo.CurrentInfo, out res) ||
double.TryParse(s, Constants.FloatStyle, NumberFormatInfo.InvariantInfo, out res);
@@ -283,7 +283,7 @@ namespace grapher
private void TextToData()
{
- if (TryParse(Box.Text, out double value) &&
+ if (TryParseDouble(Box.Text, out double value) &&
value <= MaxData && value >= MinData)
{
_data = value;
--
cgit v1.2.3