From: akr@... Date: 2014-08-15T02:52:43+00:00 Subject: [ruby-core:64382] [ruby-trunk - Bug #10136] [Open] printf("%.60f\n", 0.1r) shows 0.100000000000000005551115123125782702118158340454101562500000 Issue #10136 has been reported by Akira Tanaka. ---------------------------------------- Bug #10136: printf("%.60f\n", 0.1r) shows 0.100000000000000005551115123125782702118158340454101562500000 https://bugs.ruby-lang.org/issues/10136 * Author: Akira Tanaka * Status: Open * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: ruby 2.2.0dev (2014-08-15 trunk 47187) [x86_64-linux] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- printf shows 0.1r (rational) not 0.1 as follows. ``` % ./ruby -ve 'printf "%.60f\n", 0.1r' ruby 2.2.0dev (2014-08-15 trunk 47187) [x86_64-linux] 0.100000000000000005551115123125782702118158340454101562500000 ``` It seems printf converts the rational argument to a float. I expect 0.100000000000000000000000000000000000000000000000000000000000 instead of 0.100000000000000005551115123125782702118158340454101562500000. -- https://bugs.ruby-lang.org/