summaryrefslogtreecommitdiff
path: root/numeric.c
diff options
context:
space:
mode:
Diffstat (limited to 'numeric.c')
-rw-r--r--numeric.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/numeric.c b/numeric.c
index f5e15d904d..23c54800ee 100644
--- a/numeric.c
+++ b/numeric.c
@@ -584,7 +584,11 @@ flo_to_s(VALUE flt)
rb_str_cat(s, buf, digs + 1);
}
else if (decpt - digs < float_dig) {
+ long len;
+ char *ptr;
rb_str_cat(s, buf, digs);
+ rb_str_resize(s, (len = RSTRING_LEN(s)) + decpt - digs);
+ memset(RSTRING_PTR(s) + len, '0', decpt - digs);
rb_str_cat(s, ".0", 2);
}
else {