summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-10-26 12:39:33 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-10-26 12:39:33 +0000
commit6ca3ad34a044f48fa25d250076f5e8c9c8810b38 (patch)
treec2461fec34569c1a8eb96e361eb43b79a08438d9
parent767d70841a998c16a7487f9b286a9a944f69e7b7 (diff)
* lib/scanf.rb (extract_float): allow 2.e+2 style.
[ruby-dev:42452] #3978 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--lib/scanf.rb2
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index d1dd7d7f76..cdfd4cb3a3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Oct 26 18:51:00 2010 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * lib/scanf.rb (extract_float): allow 2.e+2 style.
+ [ruby-dev:42452] #3978
+
Tue Oct 26 18:09:36 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* Makefile.in (ASFLAGS): needs INCFLAGS.
diff --git a/lib/scanf.rb b/lib/scanf.rb
index dd6ba6c9d0..50eefbcd2d 100644
--- a/lib/scanf.rb
+++ b/lib/scanf.rb
@@ -321,6 +321,8 @@ module Scanf
end
end
(sign == ?- ? -1 : 1) * Math.ldexp(f, exp.to_i)
+ elsif /\A([-+]?\d+)\.([eE][-+]\d+)/ =~ s
+ ($1 << $2).to_f
else
s.to_f
end