This question already has answers here:

Closed 4 years ago.

How to convert a scientific notation string to decimal notation?
(2个答案)
我有一个概率函数
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"

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

关于ruby - Ruby无法正确输出表示法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32594344/

10-08 23:14