diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c
index a484165..9673640 100644
--- a/src/bin/pgbench/pgbench.c
+++ b/src/bin/pgbench/pgbench.c
@@ -928,8 +928,10 @@ makeVariableNumeric(Variable *var)
 	else /* type should be double */
 	{
 		double dv;
+		int consumed;
 
-		if (sscanf(var->value, "%lf", &dv) != 1)
+		if (sscanf(var->value, "%lf%n", &dv, &consumed) != 1 ||
+			consumed != strlen(var->value))
 		{
 			fprintf(stderr,
 					"malformed variable \"%s\" value: \"%s\"\n",
