Ruby 更改小数位数

Ruby 更改小数位数,ruby,floating-point,constants,Ruby,Floating Point,Constants,我制作了一个小脚本,用x小数给出数字PI。 我使用Salamin Brent算法来寻找PI,我不想使用Math::PI。 问题是结果总是15位小数 我找到了我重新定义的Float::DIG常量,但没有任何变化(即使减小它) 以下是我如何重新定义它: puts Float::DIG #=> 15 Float::DIG = 2 puts Float::DIG #=> 2 除了oldergod使用字符串操作的原始答案之外 '%0.4f' % Math::P

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

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

以下是我如何重新定义它:

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

除了oldergod使用字符串操作的原始答案之外

'%0.4f' % Math::PI # "3.1416"
您也可以使用
round

Math::PI.round(4) # 3.1416

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

这是一个很好的解决方案,但我不想使用Math::PI。我用Salamin Brent算法来求PI。不,这只是一个例子。将
Math::PI
更改为另一个变量,甚至更改值本身,如
3.1415678。四舍五入(4)