Ruby 没有正确输出符号

标签 ruby

<分区>

我有一个概率函数

def fac(x)
  (1..x).inject(1, :*)
end


def prob(k, n)
  fac(n) / (fac(k)* fac(n - k)) * (1.0/6.0)**k * 5.0/6.0**(n-k)
end 

当我执行 prob(16.0, 17.0)

我得到输出 5.021664214224737e-10

有没有办法让输出看起来像 .0000000005021664214224737

另外问题标题可能不正确,如果您认为有必要,请修改。

最佳答案

如果您不介意手动指定精度,

"%.25f" % 5.021664214224737e-10
# => "0.0000000005021664214224737"

您可以通过对其应用 [1..-1] 来删除前导 0

关于Ruby 没有正确输出符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32594344/

相关文章:

ruby - 尝试授权服务器到 ruby​​ 中的服务器类型应用程序以访问 Google 日历时无效授权

ruby-on-rails - Redis 在大型 DEL 和 HMSET 函数上消耗最大内存

ruby-on-rails - 使用嵌套表单和 Rails 4 时如何防止创建空白?

ruby - Mechanize 前/后连接 Hook

mysql - 使用 activerecord ruby​​ 计数不同

ruby - 为什么 Ruby 1.9 允许覆盖! !=!〜?

ruby - git:从 bitbucket 导出并导入 github(带提交)

ruby-on-rails - 从 MongoDB 1.8 升级到 2.4 时如何解决 MongoDB/PCRE “symbol lookup error”

ruby - 我可以获得修改 HTTP 文件的日期吗?

ruby - 如何检测 Ruby 脚本是否正在通过 shell 管道运行?