From: "nobu (Nobuyoshi Nakada) via ruby-core" Date: 2026-05-23T07:23:57+00:00 Subject: [ruby-core:125571] [Ruby Bug#22079] Float#ceil gives incorrect result Issue #22079 has been updated by nobu (Nobuyoshi Nakada). Backport changed from 3.3: UNKNOWN, 3.4: UNKNOWN, 4.0: UNKNOWN to 3.3: REQUIRED, 3.4: REQUIRED, 4.0: REQUIRED [GH-17097](https://github.com/ruby/ruby/pull/17097) ---------------------------------------- Bug #22079: Float#ceil gives incorrect result https://bugs.ruby-lang.org/issues/22079#change-117400 * Author: cryptogopher (crypto gopher) * Status: Open * ruby -v: ruby 3.3.7 (2025-01-15 revision be31f993d7) [x86_64-linux] * Backport: 3.3: REQUIRED, 3.4: REQUIRED, 4.0: REQUIRED ---------------------------------------- Let's take following number as an example: ``` ruby > Float::MIN => 2.2250738585072014e-308 ``` This gives proper result: ```ruby > Float::MIN.ceil(308) => 2.9999999999999997e-308 ``` But this does not: ```ruby > Float::MIN.floor(309) => NaN ``` even though the result is perfectly valid `Float` number: ```ruby > "2.3e-308".to_f => 2.3e-308 ``` -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/