tostring fixed with format(2) 56/21456/4
Cedric Delamarre [Wed, 15 Apr 2020 16:00:05 +0000 (18:00 +0200)]
    test_run core format

    // the display of 1.1 cash Scilab
    format(2)
    1.1

Change-Id: I8379bb44c1ed50cada1687e662ed907eafe2f5d4

scilab/modules/ast/src/cpp/types/tostring_common.cpp
scilab/modules/core/tests/unit_tests/format.dia.ref
scilab/modules/core/tests/unit_tests/format.tst

index 55c567d..5149378 100644 (file)
@@ -132,7 +132,6 @@ void getDoubleFormat(double _dblVal, DoubleFormat * _pDF)
     else
     {
         double dblTemp = log10(dblEnt);
-
         if (dblTemp > (iPrecNeeded - 2) || _pDF->bExp)
         {
             //exponant mode
@@ -264,7 +263,7 @@ void addDoubleValue(std::wostringstream * _postr, double _dblVal, DoubleFormat *
         if (_pDF->bPrintPoint || str.length() > 1)
         {
             /* add trailing zeros */
-            str.append(fmax(0, _pDF->iPrec + 1 - str.length()), '0');
+            str.append(std::max(0, _pDF->iPrec + 1 - (int)str.length()), '0');
             str.insert(1, ".");
         }
 
@@ -308,7 +307,7 @@ void addDoubleValue(std::wostringstream * _postr, double _dblVal, DoubleFormat *
         }
         else if (std::atof(str.data()) != fabs(_dblVal) && _pDF->bPrintTrailingZeros == true)
         {
-            str.append(std::max(0, (ConfigVariable::getFormatSize() - (int)str.length())) - 1, '0');
+            str.append(std::max(0, (ConfigVariable::getFormatSize() - (int)str.length()) - 1), '0');
         }
 
         wchar_t* pwstData = to_wide_string(str.data());
index 862be2e..b1d8dad 100644 (file)
@@ -75,3 +75,7 @@ format(11);
 16278*12286
  ans  =
    199991508.
+format(2);
+1.1
+ ans  =
+   1.
index 3b19218..da9f21b 100644 (file)
@@ -69,3 +69,6 @@ format("v", 10);
 16278*12286
 format(11);
 16278*12286
+
+format(2);
+1.1
\ No newline at end of file