summaryrefslogtreecommitdiff
path: root/lib/scanf.rb
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 /lib/scanf.rb
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
Diffstat (limited to 'lib/scanf.rb')
-rw-r--r--lib/scanf.rb2
1 files changed, 2 insertions, 0 deletions
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