ruby - 在 ruby​​ 中没有四舍五入的 float 格式

标签 ruby floating-point format

有一个 float num = 22.0098。如何格式化它以限制 float 后的 3 位数字?我尝试了 sprintf('%.3f',num) 但返回的是 22.010,不过我需要 22.009

最佳答案

我可以考虑使用 bigdecimal。不确定它是否矫枉过正:

require 'bigdecimal'   
BigDecimal::new("22.0098").truncate(3).to_f
#=> 22.009

关于ruby - 在 ruby​​ 中没有四舍五入的 float 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35007801/

相关文章:

ruby - 我如何从 Ruby 中的 Pathname 继承?

c - 相似的代码输出不同的结果

PHP - 小数点后位置的 floatval 削减?

ruby-on-rails - 如何解决 Bundler 中的 Gem 兼容问题?

ruby - Thor 是否提示过 Ruby 命令行应用程序中拼写错误的选项?

ruby - ActiveRecord::DangerousAttributeError:更新由 Active Record 定义

c - 将尾数作为位返回

php - PHP中的自动图像格式检测

vba - 使用 VBA 根据频率计算到期日

java - 正确格式化 Java 字符串以适应 JavaScript 变量