diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-12 07:25:48 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-12 07:25:48 +0000 |
commit | dbb8970a8ad0adb6013fee32199f0fd677039170 (patch) | |
tree | df2b9219bd11fc235cf4ff207b04a69fe34b9811 | |
parent | 6f6b955e821b360e03a5175ceb00b49c908edddd (diff) |
* numeric.c (flo_to_s): exponent needs 2 digits.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@27756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | numeric.c | 7 |
2 files changed, 7 insertions, 4 deletions
@@ -1,3 +1,7 @@ +Wed May 12 16:25:46 2010 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * numeric.c (flo_to_s): exponent needs 2 digits. + Mon May 10 06:59:19 2010 NARUSE, Yui <naruse@ruby-lang.org> * common.mk (rdoc): rdoc should depend main. Moreover when XRUBY @@ -585,10 +585,9 @@ flo_to_s(VALUE flt) } 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_resize(s, (len = RSTRING_LEN(s)) + decpt - digs + 2); + if (decpt > digs) memset(RSTRING_PTR(s) + len, '0', decpt - digs); rb_str_cat(s, ".0", 2); } else { @@ -615,7 +614,7 @@ flo_to_s(VALUE flt) } buf[1] = '.'; rb_str_cat(s, buf, digs + 1); - rb_str_catf(s, "e%+d", decpt - 1); + rb_str_catf(s, "e%+03d", decpt - 1); } return s; } |