diff --git a/compiler2/Real.cc b/compiler2/Real.cc index 292412f2bf4ad1d75003d3aa4ddbf55d493d832f..7ae01e6898c3a814774ddf5cb375c906a6df48fe 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%.17g%se%d", + sprintf(tmp, "%s%.16g%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%.17g", r < 0.0 ? "-" : "", mantissa); + char *tmp = mprintf("%s%.16g", 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 d7723dcfb82e4ce1b3583c6a089ddca1e952c1ea..ca33c37af27c0aa020bf45893ca919c8e47023e9 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%.17g", float_val < 0.0 ? "-" : "", mantissa); + TTCN_Logger::log_event("%s%.16g", 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);