🎉
[Bug #20873] 特定の Rational を printf('%f') したときのバグ報告
[Bug #20873] printf("%f")
returns wrong result for Rational
with FIXNUM_MIN
-
FIXNUM_MIN
が含まれているRational
に対してprintf("%f")
を行うと意図しない結果になるバグ報告
require 'rbconfig/sizeof'
fmin, fmax = RbConfig::LIMITS.values_at("FIXNUM_MIN", "FIXNUM_MAX")
rational = Rational(fmin, fmax)
pp rational # => (-4611686018427387904/4611686018427387903)
# - が1つ多い
pp sprintf("%f", rational) #=> --1.000000
- このバグはすでに開発版の Ruby 3.4-dev だと修正済みです
Discussion