6

ActiveRecord の列の型を decimal に指定すると、Rails はそのデータベースの値を ruby​​ の BigDecimal オブジェクトとして返します。

私の質問は、これらのフィールドを操作して追加の計算を実行する場合、計算で常に BigDecimal 値を使用するか、浮動小数点値を使用しても問題ないかということです。同じ計算で BigDecimal 値と Floating Point 値を混在させることが良い方法かどうかはわかりませんでした。

混合例: BigDecimal.new('12.43') / 4.2

同型 例: BigDecimal.new('12.43') / BigDecimal.new('4.2')

私が尋ねる理由は、小数の精度が必要なため、浮動小数点数を使用するのが少し恥ずかしがり屋だからです。float を使用すると、0.1 + 0.7 は 0.8 と等しくなりません。

4

1 に答える 1

2

あなたは

...フロートを使用するのが少し恥ずかしがり屋です...

BigDecimal を使用します。正常に動作します

于 2010-06-23T21:23:54.727 に答える