From: nobu@... Date: 2016-07-10T23:53:16+00:00 Subject: [ruby-core:76340] [Ruby trunk Bug#12580][Feedback] Difference in sprintf float rounding Issue #12580 has been updated by Nobuyoshi Nakada. Status changed from Open to Feedback Resulting 5.6 by rounding 5.55 off to one decimal place looks more "natural", than 5.5. New behavior considers binary representation error. What problem occurs concretely? ---------------------------------------- Bug #12580: Difference in sprintf float rounding https://bugs.ruby-lang.org/issues/12580#change-59579 * Author: Vipul Amler * Status: Feedback * Priority: Normal * Assignee: * ruby -v: ruby 2.4.0dev (2016-07-10 trunk 55628) [x86_64-darwin15] * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- on 2.4-dev ` irb(main):006:0> sprintf "%0.01f", 5.55 => "5.6" irb(main):007:0> 5.55.class => Float ` on 2.4-preview `irb(main):001:0> sprintf "%0.01f", 5.55 => "5.5" irb(main):002:0> 5.55.class => Float irb(main):003:0>` Is the change intentional? If yes, what prompted this rounding change? This is currently causing issues on iso8601 serializer on Rails https://github.com/rails/rails/blob/04c512da1247a54474cfd8bef17a9e9019c34004/activesupport/lib/active_support/duration/iso8601_serializer.rb#L25 -- https://bugs.ruby-lang.org/ Unsubscribe: