確率を使用して、つまり、値が一方の境界またはもう一方の境界(床または天井)にどれだけ近いかに基づいて数値を丸める簡単なRubyの方法は何でしょうか?
たとえば、現在の価格値が28.33の場合、0.014を追加する必要があります。
28.34から始まり、0.004を追加する必要があるのと同じですが、最終的な値は小数点以下2桁に丸める必要があります(パラメーターとして指定するか、今のところ固定することができます)。
したがって、最終的な値は次のようになります。
- 28.34 60%の確率で、それははるかに近いので、または
- ランダムチャンス40%の28.35
これが最も役立つ可能性がある理由は、アプリケーションがステートレスであり、実行間で独立しているが、通常は忘却に丸められる有効数字の少ない数字を累積することの正味の効果を概算する必要があるためです(たとえば、影響を与えるマイクロペニー値時間)。たとえば、ストップロスを毎日一定の増分で減らします(代わりに上記の-0.014のような減算)。
このメソッドをFloatクラスに直接拡張すると便利です。