forms/source/xforms/convert.cxx   |    2 +-
 forms/source/xforms/datatypes.cxx |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 50837fdd60d3d20b5025d94e243b09d92a166fb4
Author:     Julien Nabet <serval2...@yahoo.fr>
AuthorDate: Fri Apr 21 10:13:26 2023 +0200
Commit:     Julien Nabet <serval2...@yahoo.fr>
CommitDate: Fri Apr 21 13:46:11 2023 +0200

    tdf#116451: XML Form: adding 2 values of decimal-fields gives wrong result
    
    Since, depending of the localization decimal separator may be ",",
    replace "," by "." before calling ::rtl::math::stringToDouble
    
    Change-Id: I461f3bdf83019d066735e10b3b6b6784e006bc7f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150750
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>
    Tested-by: Jenkins

diff --git a/forms/source/xforms/convert.cxx b/forms/source/xforms/convert.cxx
index 8ffd4cab4906..0f7193422fa5 100644
--- a/forms/source/xforms/convert.cxx
+++ b/forms/source/xforms/convert.cxx
@@ -78,7 +78,7 @@ namespace
     {
         rtl_math_ConversionStatus eStatus;
         double f = rtl::math::stringToDouble(
-            rString, '.', ',', &eStatus );
+            rString.replace(',','.'), '.', ',', &eStatus );
         return ( eStatus == rtl_math_ConversionStatus_Ok ) ? Any( f ) : Any();
     }
 
diff --git a/forms/source/xforms/datatypes.cxx 
b/forms/source/xforms/datatypes.cxx
index 8e5e0b5268b3..510e75cfd3d7 100644
--- a/forms/source/xforms/datatypes.cxx
+++ b/forms/source/xforms/datatypes.cxx
@@ -404,7 +404,7 @@ namespace xforms
         rtl_math_ConversionStatus eStatus;
         sal_Int32 nEnd;
         double f = ::rtl::math::stringToDouble(
-            rValue, '.', u'\0', &eStatus, &nEnd );
+            rValue.replace(',','.'), '.', u'\0', &eStatus, &nEnd );
 
         // error checking...
         bool bReturn = false;

Reply via email to