From 4edfec2b6cbcae1234bbb06b19deb5c40dac86cf Mon Sep 17 00:00:00 2001 From: Daniela Mariaschi Date: Thu, 21 Mar 2002 16:53:06 +0000 Subject: [PATCH] fixed numeric number incorrectly rendered --- ext/interbase/interbase.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/ext/interbase/interbase.c b/ext/interbase/interbase.c index d355c41d69..f30df74352 100644 --- a/ext/interbase/interbase.c +++ b/ext/interbase/interbase.c @@ -1786,13 +1786,14 @@ static int _php_ibase_var_pval(pval *val, void *data, int type, int len, int sca val->type = IS_STRING; if (scale) { - int i, len; - char dt[20]; + int j, f = 1; double number = (double) ((ISC_INT64) (*((ISC_INT64 *)data))); - - number /= - 10 * scale; + char dt[20]; + for (j = 0; j < -scale; j++) { + f *= 10; + } sprintf(dt, "%%0.%df", -scale); - val->value.str.len = sprintf (string_data, dt, number); + val->value.str.len = sprintf (string_data, dt, number/f ); } else { val->value.str.len = sprintf (string_data, "%Ld", (ISC_INT64) (*((ISC_INT64 *)data))); -- 2.50.1