From 48f259589b47fb1eaf3adf9fbed517f9f21f06d4 Mon Sep 17 00:00:00 2001 From: ondrej Date: Sat, 26 Jun 2021 16:05:37 +0000 Subject: [PATCH] fpSQLParser: fix float literal parsing (make it locale-independent) git-svn-id: trunk@49564 - --- packages/fcl-db/src/sql/fpsqlparser.pas | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/fcl-db/src/sql/fpsqlparser.pas b/packages/fcl-db/src/sql/fpsqlparser.pas index a5c9d50dd0..c268d707de 100644 --- a/packages/fcl-db/src/sql/fpsqlparser.pas +++ b/packages/fcl-db/src/sql/fpsqlparser.pas @@ -2241,6 +2241,9 @@ end; function TSQLParser.CreateLiteral(AParent : TSQLElement) : TSQLLiteral; +var + SQLFS: TFormatSettings; + begin Result:=Nil; Case CurrentToken of @@ -2257,7 +2260,9 @@ begin tsqlFloatNumber: begin Result:=TSQLLiteral(CreateElement(TSQLFloatLiteral,AParent)); - TSQLFloatLiteral(Result).Value:=StrToFloat(CurrentTokenString); + SQLFS:=DefaultFormatSettings; + SQLFS.DecimalSeparator:='.'; + TSQLFloatLiteral(Result).Value:=StrToFloat(CurrentTokenString,SQLFS); end; tsqlNull : Result:=TSQLLiteral(CreateElement(TSQLNullLiteral,AParent));