diff --git a/compiler2/Real.cc b/compiler2/Real.cc index 7ae01e6898c3a814774ddf5cb375c906a6df48fe..e6eb1c1c9549228be785acf02ce85c77551048ef 100644 --- a/compiler2/Real.cc +++ b/compiler2/Real.cc @@ -48,7 +48,7 @@ namespace Common { double integral = floor(fraction); char tmp[64]; - sprintf(tmp, "%s%.16g%se%d", + sprintf(tmp, "%s%.15g%se%d", (sign == -1) ? "-" : "", fraction, (fraction == integral) ? ".0" : "", @@ -68,7 +68,7 @@ namespace Common { Real exponent = floor(log10(rabs)); Real mantissa = rabs * pow(10.0, -exponent); - char *tmp = mprintf("%s%.16g", r < 0.0 ? "-" : "", mantissa); + char *tmp = mprintf("%s%.15g", r < 0.0 ? "-" : "", mantissa); if (floor(mantissa) == mantissa) tmp = mputstr(tmp, ".0"); if (exponent != 0.0) tmp = mputprintf(tmp, "e%d", (int)exponent); string ret_val(tmp); diff --git a/core/Float.cc b/core/Float.cc index ca33c37af27c0aa020bf45893ca919c8e47023e9..124035d55dc9ceecd8906e1afbc6306a5c99b26b 100644 --- a/core/Float.cc +++ b/core/Float.cc @@ -79,7 +79,7 @@ static inline void log_float(double float_val) double exponent = floor(log10(rabs)); double mantissa = rabs * pow(10.0, -exponent); - TTCN_Logger::log_event("%s%.16g", float_val < 0.0 ? "-" : "", mantissa); + TTCN_Logger::log_event("%s%.15g", float_val < 0.0 ? "-" : "", mantissa); if (floor(mantissa) == mantissa) TTCN_Logger::log_event( ".0"); if (exponent != 0.0) TTCN_Logger::log_event("e%d", (int)exponent);