diff --git a/EgtGeneral.rc b/EgtGeneral.rc index 6eb42a2..6620d97 100644 Binary files a/EgtGeneral.rc and b/EgtGeneral.rc differ diff --git a/StringUtils.cpp b/StringUtils.cpp index ae89d97..cbaea53 100644 --- a/StringUtils.cpp +++ b/StringUtils.cpp @@ -101,7 +101,7 @@ FromString( const string& sVal, STRVECTOR& vsVal) //---------------------------------------------------------------------------- const string -ToString( double dVal, int nPrec) +ToString( double dVal, int nPrec, int* pnErr) { const double BIG_NUMBER = 1e10 ; const int BIG_DIGITNBR = 10 ; @@ -124,12 +124,17 @@ ToString( double dVal, int nPrec) _ASSERT( 0) ; string sErr = "ToString Error : " + ToString( nErr) ; LOG_ERROR( GetEGnLogger(), sErr.c_str()) + if ( pnErr != nullptr) + *pnErr = nErr ; return "#Error" ; } // se buffer vuoto, risultato è numero 0 - if ( szBuff[0] == '\0') + if ( szBuff[0] == '\0') { + if ( pnErr != nullptr) + *pnErr = nErr ; return "0" ; + } // verifica per forma esponenziale int nExp ; @@ -167,6 +172,7 @@ ToString( double dVal, int nPrec) _ASSERT( 0) ; string sErr = "ToString Error : " + string( szBuff) ; LOG_ERROR( GetEGnLogger(), sErr.c_str()) + nErr = 999 ; } if ( nDecimal == 0) { *pDest = '.' ; @@ -210,6 +216,9 @@ ToString( double dVal, int nPrec) *pDest = '\0' ; } + if ( pnErr != nullptr) + *pnErr = nErr ; + if ( szDest[0] == '-' && szDest[1] == '0' && szDest[2] == '\0') return "0" ; else