Bug #9595

Float#to_d inconsistent between 2.0.0 and 2.1.1

Added by Mike Boone over 1 year ago. Updated over 1 year ago.

[ruby-core:61307]
Status:Assigned
Priority:Normal
Assignee:Kenta Murata
ruby -v:ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin13.0] Backport:1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN

Description

The following code produces different BigDecimal results in 2.0.0 vs. 2.1.1:

require 'big decimal'
require 'bigdecimal/util'
(1/1.3667).to_d

2.0.0 returns: #<BigDecimal:7fa7fc04dc28,'0.7316894709 885124E0',18(45)>
2.1.1 returns: #<BigDecimal:7fabd1a25768,'0.7316894709 88512E0',18(36)>

2.1.1 is a digit short. Related to #9305?

History

#1 Updated by Mike Boone over 1 year ago

I did come across this Github PR (https://github.com/ruby/ruby/pull/323) which changed the default precision on Float#to_d.

If 2.1.1 is the proper behavior and compatibility with the behavior of 2.0.0 is not desired, please close this bug.

Thanks.

#2 Updated by Kenta Murata over 1 year ago

  • Category set to ext
  • Status changed from Open to Assigned
  • Assignee set to Kenta Murata

Also available in: Atom PDF