Actions
Bug #13833
closedString#scanf("%a") incorrectly requires a sign on the (binary) exponent
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16]
Description
>> Float("0x1p9")
=> 512.0
>> Float("0x1p+9")
=> 512.0
>> "0x1p+9".scanf("%a")
=> [512.0]
>> "0x1p9".scanf("%a")
=> [0.0] # Oops
>> RUBY_VERSION
=> "2.4.1"
In scanf.rb, there are three regexps that say the equivalent of [pP][+-] where they should say [pP][+-]?
Updated by tarotaro0 (taro taro) about 7 years ago
Hi, cabo.
I implemented to fix this bug and created PR:
https://github.com/ruby/ruby/pull/1689
Could you please check this?
Updated by nobu (Nobuyoshi Nakada) about 7 years ago
- Status changed from Open to Closed
Applied in changeset trunk|r60261.
Fix bug about String#scanf("%a")
- lib/scanf.rb (extract_float, initialize): allow to omit a sign
on the binary exponent. [ruby-core:82435] [Bug #13833]
[Fix GH-1689]
From: tarotaro0 tarousann11922960@yahoo.co.jp
Actions
Like0
Like0Like0