【问题标题】:Changing numbers of decimals更改小数位数
【发布时间】:2013-03-14 00:31:35
【问题描述】:

我制作了一个小脚本,它给出了带有 x 小数的数字 PI。 我使用 Salamin-Brent 算法来查找 PI,但我不想使用 Math::PI。 问题是结果总是有 15 位小数。

我找到了我重新定义的Float::DIG 常量,但没有任何变化(即使我减少它)。

这是我重新定义它的方式:

puts Float::DIG         #=> 15
Float::DIG = 2
puts Float::DIG         #=> 2

【问题讨论】:

    标签: ruby floating-point constants


    【解决方案1】:

    除了 oldgod 使用字符串操作的原始答案

    '%0.4f' % Math::PI # "3.1416"
    

    你也可以使用round

    Math::PI.round(4) # 3.1416
    

    4 在这两个示例中都确定了您想要的小数位数。两者的主要区别是第一个返回一个字符串,第二个返回一个浮点数。我更喜欢第二个,因为它更容易阅读。

    【讨论】:

    • 这是一个很好的解决方案,但就我而言,我不想使用 Math::PI。我使用 Salamin-Brent 算法来查找 PI。
    • 不,这只是一个例子。将 Math::PI 更改为不同的变量,甚至更改值本身,例如 3.1415678.round(4)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多