From f1e3d8857a1a679c69a84e71509fb3d2e08d9250 Mon Sep 17 00:00:00 2001 From: Flouttre Date: Thu, 24 Oct 2024 17:08:43 +0200 Subject: [PATCH 1/3] Update Parser.cs --- src/Lua/CodeAnalysis/Syntax/Parser.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Lua/CodeAnalysis/Syntax/Parser.cs b/src/Lua/CodeAnalysis/Syntax/Parser.cs index 7bdbc92f..60a44599 100644 --- a/src/Lua/CodeAnalysis/Syntax/Parser.cs +++ b/src/Lua/CodeAnalysis/Syntax/Parser.cs @@ -1010,7 +1010,7 @@ static double ConvertTextToNumber(ReadOnlySpan text) } else { - return double.Parse(text); + return double.Parse(text.ToString(), CultureInfo.InvariantCulture); } } } \ No newline at end of file From 5badcfc3cf0b41b396ed227de2c832519f676fcc Mon Sep 17 00:00:00 2001 From: Flouttre Date: Thu, 24 Oct 2024 18:09:52 +0200 Subject: [PATCH 2/3] Update Parser.cs --- src/Lua/CodeAnalysis/Syntax/Parser.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Lua/CodeAnalysis/Syntax/Parser.cs b/src/Lua/CodeAnalysis/Syntax/Parser.cs index 60a44599..0bb165ba 100644 --- a/src/Lua/CodeAnalysis/Syntax/Parser.cs +++ b/src/Lua/CodeAnalysis/Syntax/Parser.cs @@ -1010,7 +1010,7 @@ static double ConvertTextToNumber(ReadOnlySpan text) } else { - return double.Parse(text.ToString(), CultureInfo.InvariantCulture); + return double.Parse(text, NumberStyles.Float, CultureInfo.InvariantCulture); } } } \ No newline at end of file From 6c169703967c7f9b53c2bf7472cfe5bb2bd528c2 Mon Sep 17 00:00:00 2001 From: Flouttre Date: Thu, 24 Oct 2024 18:30:04 +0200 Subject: [PATCH 3/3] Applied to LuaValue.cs and BasicLibrary.cs --- src/Lua/LuaValue.cs | 3 ++- src/Lua/Standard/BasicLibrary.cs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Lua/LuaValue.cs b/src/Lua/LuaValue.cs index 5784d28d..72eb09ad 100644 --- a/src/Lua/LuaValue.cs +++ b/src/Lua/LuaValue.cs @@ -1,3 +1,4 @@ +using System.Globalization; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Lua.Internal; @@ -120,7 +121,7 @@ public bool TryRead(out T result) } else { - var tryResult = double.TryParse(str, out var d); + var tryResult = double.TryParse(str, NumberStyles.Float, CultureInfo.InvariantCulture, out var d); result = tryResult ? Unsafe.As(ref d) : default!; return tryResult; } diff --git a/src/Lua/Standard/BasicLibrary.cs b/src/Lua/Standard/BasicLibrary.cs index 94904d30..4158b2ff 100644 --- a/src/Lua/Standard/BasicLibrary.cs +++ b/src/Lua/Standard/BasicLibrary.cs @@ -1,3 +1,4 @@ +using System.Globalization; using Lua.CodeAnalysis.Compilation; using Lua.Internal; using Lua.Runtime; @@ -445,7 +446,7 @@ public ValueTask ToNumber(LuaFunctionExecutionContext context, Memory