diff --git a/IFPSLib/TypedData.cs b/IFPSLib/TypedData.cs index 2c3dcf3..d71c254 100644 --- a/IFPSLib/TypedData.cs +++ b/IFPSLib/TypedData.cs @@ -8,6 +8,7 @@ using SharpFloat.FloatingPoint; using System.Runtime.InteropServices; using System.Collections; using System.Runtime.CompilerServices; +using System.Globalization; namespace IFPSLib { @@ -132,7 +133,7 @@ namespace IFPSLib var sb = new StringBuilder(); ExtF80.PrintFloat80(sb, br.Read(), PrintFloatFormat.ScientificFormat, 19); TrimDecimalString(sb); - return new TypedData(type, decimal.Parse(sb.ToString(), System.Globalization.NumberStyles.Float)); + return new TypedData(type, decimal.Parse(sb.ToString(), System.Globalization.NumberStyles.Float, new CultureInfo("en"))); } case PascalTypeCode.Currency: @@ -207,7 +208,7 @@ namespace IFPSLib WriteValue(bw); break; case PascalTypeCode.Extended: - if (!ExtF80.TryParse(ValueAs().ToString(), out var extf)) + if (!ExtF80.TryParse(ValueAs().ToString(new CultureInfo("en")), out var extf)) throw new ArgumentOutOfRangeException("Value {0} cannot fit into an 80-bit floating point number"); bw.Write(extf); break;