web-dev-qa-db-ja.com

パーセント値を保存する方法は?

Rails 3.2.2を使用しており、storeand handlemy database table列のパーセンテージ値アドバイスは何ですか(たとえば、どのタイプ-:integer:float:decimal、...-列の設定する必要があります)?パーセント値の保存について知っておく必要がある/知っておくべき警告がありますか?

精度は21.99%50.01%、...)。

この投稿 と読みます。

34
Backo

値をどのように使用するかによって多少異なりますが、通常、パーセンテージを格納するにはdecimalが適しています。また、パーセンテージ値(10.01)または小数(.1001)として保存できることに注意してください。そのため、列の実際のサイズと精度に影響します。

パーセントとして保存するか、フラクションとして保存するかの選択は、使用上のニーズによって異なりますが、ほとんどの場合、フラクションとして保存する方が簡単だと思うsuspect (たとえば、10%を表す.10)は、ほとんどの計算で簡単に直接使用できるためです(100で除算することを忘れないでください)。

また、@ ismaelgaがコメントで指摘しているように、精度のために小数を選択するのが適切です(特に、金銭的な計算を処理する場合はニース)。

43
Mark Wilkins