Issue #13105 has been reported by Nobuyoshi Nakada.

----------------------------------------
Bug #13105: `String#to_f` and `String#to_r` don't stop successive underscores
https://bugs.ruby-lang.org/issues/13105

* Author: Nobuyoshi Nakada
* Status: Assigned
* Priority: Normal
* Assignee: Yukihiro Matsumoto
* Target version: 2.5
* ruby -v: r57270
* Backport: 2.2: REQUIRED, 2.3: REQUIRED, 2.4: REQUIRED
----------------------------------------
`Integer()`, `Float()` and `Rational()` errs at successive underscores, and `String#to_i` stops the conversion there.
But `String#to_f` and `String#to_r` continue the conversion like as there were just one underscore.
Is this intentional?

```ruby
"1_2".to_i    #=> 12
"1__2".to_i   #=> 1
"1.__2".to_f  #=> 1.2
"0.1__2".to_r #=> (3/25) == 0.12
```



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>