fix bug 1371 : display size of double takes into account the size of power
[scilab.git] / scilab / modules / ast / src / cpp / types / tostring_common.cpp
index fad3f38..09376e0 100644 (file)
@@ -108,7 +108,7 @@ void getDoubleFormat(double _dblVal, DoubleFormat * _pDF)
         {
             //exponant
             _pDF->bExp = true;
-            iTotalLen = iBlankSize + 1 /*integer before dot */  + POINT_SIZE + EXPOSANT_SIZE + std::max((int)log10((double)iNbDigit), 2);
+            iTotalLen = iBlankSize + 1 /*integer before dot */  + POINT_SIZE + EXPOSANT_SIZE + std::max(((int)log10((double)iNbDigit)) + 1, 2);
             _pDF->iWidth = iPrecNeeded;
             _pDF->iPrec = iPrecNeeded - iTotalLen;
             return;
@@ -131,7 +131,7 @@ void getDoubleFormat(double _dblVal, DoubleFormat * _pDF)
             }
 
             _pDF->bExp = true;
-            iTotalLen = iBlankSize + 1 /*integer before dot */  + POINT_SIZE + EXPOSANT_SIZE + std::max((int)log10(dblTemp), 2);
+            iTotalLen = iBlankSize + 1 /*integer before dot */  + POINT_SIZE + EXPOSANT_SIZE + std::max(((int)log10(dblTemp)) + 1, 2);
             _pDF->iWidth = iPrecNeeded;
             _pDF->iPrec = iPrecNeeded - iTotalLen;
             return;