EgtGeneral 2.6a3 :

- la funzione ToString per i double ora ha un parametro opzionale in più (numero di errore).
This commit is contained in:
Dario Sassi
2024-01-31 09:41:26 +01:00
parent 49cbf8b5f1
commit 1707f324ef
2 changed files with 11 additions and 2 deletions
+11 -2
View File
@@ -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