diff --git a/src/interfaces/ecpg/ecpglib/execute.c b/src/interfaces/ecpg/ecpglib/execute.c
index 81c1165ce2796fc3d70d258f2ecf7d69c55e8559..f173736757bab22d8d33c390718dc8478ceb73b4 100644
--- a/src/interfaces/ecpg/ecpglib/execute.c
+++ b/src/interfaces/ecpg/ecpglib/execute.c
@@ -478,7 +478,7 @@ sprintf_double_value(char *ptr, double value, const char *delim)
 			sprintf(ptr, "%s%s", "Infinity", delim);
 	}
 	else
-		sprintf(ptr, "%.14g%s", value, delim);
+		sprintf(ptr, "%.15g%s", value, delim);
 }
 
 static void
@@ -494,7 +494,7 @@ sprintf_float_value(char *ptr, float value, const char *delim)
 			sprintf(ptr, "%s%s", "Infinity", delim);
 	}
 	else
-		sprintf(ptr, "%.14g%s", value, delim);
+		sprintf(ptr, "%.15g%s", value, delim);
 }
 
 bool