From: the.codefolio.guy@... Date: 2016-09-22T15:10:03+00:00 Subject: [ruby-core:77356] [Ruby trunk Bug#12548] Rounding modes inconsistency between round versus sprintf Issue #12548 has been updated by Noah Gibbs. @nobu: makes sense. I'll file an issue with RubySpec to let them know that at least some of these tests aren't compatible with IEEE 754 round-nearest-to-even mode. Examining the first test failure (spec/core/float/round_spec.rb line 70), it clearly isn't since it expects 2.5 to round to 3 at that decimal place. I'll examine the other failures and try to make sure they're all equally clear. ---------------------------------------- Bug #12548: Rounding modes inconsistency between round versus sprintf https://bugs.ruby-lang.org/issues/12548#change-60599 * Author: Kieran McCusker * Status: Open * Priority: Normal * Assignee: * ruby -v: 2.4.0 * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- Hi I've found this possible bug with sprintf in our production code, but it seems very odd that no one has reported it so I'm doubting myself. I've tested a few versions (CRuby 2.3.1 and 2.1.9) and it was present in both. To reproduce in irb: sprintf('%1.0f', 12.5) Expected result 13 actual 12 In fact if you look at the number sequence 0.5 -> 99.5 you find the even half will all round down and the odd half round up. 12.5.round produces the correct result (13) If you do the same in jruby 2.2.1 you get the expected result of 13. Many thanks Kieran ---Files-------------------------------- round_even.patch (4.43 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: