Project

General

Profile

Actions

Bug #12580

closed

Difference in sprintf float rounding

Added by vipulnsward (Vipul Amler) almost 8 years ago. Updated over 7 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.4.0dev (2016-07-10 trunk 55628) [x86_64-darwin15]
[ruby-core:76336]

Description

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

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0