-2

小数点以下x桁の円周率を与える小さなスクリプトを作成しました。私はSalamin-Brentアルゴリズムを使用してPIを見つけましたが、Math::PIは使用したくありません。問題は、結果が常に小数点以下15桁になることです。

再定義する定数を見つけましたFloat::DIGが、何も変わりません(減らしても)。

これが私がそれを再定義する方法です:

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

1 に答える 1

1

文字列操作を使用するというoldergodの元の答えは別として

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

あなたも使うことができますround

Math::PI.round(4) # 3.1416

4どちらの例でも、必要な小数点以下の桁数を決定します。2つの主な違いは、最初の1つは文字列を返し、2つ目はfloatを返すことです。読みやすいので2つ目が好きです。

于 2013-03-14T00:38:36.297 に答える