0

丸くしたい

  • 数値が非常に小さい場合は、最初の桁が 0 より大きくなるまで丸め、次に 2 桁で丸めます。このような:

    値 = 0.00000012344 => rounded_value = 0.00000012

    0.0035~0.0035

  • 次のように、ランダムな浮動小数点数の場合は、coma の後に 2 桁。

    76.543554 ~ 76.5

  • それ以外の場合、整数の場合は何もしません

    100滞在 100

    44 滞在 44

私は ruby​​ 1.9.3 を使用しており、value.round(2) を試してみましたが、0.00 しか得られず、満足できません。

4

1 に答える 1

3

number_with_precision があなたの質問に対する完璧な答えだと思います

探している結果を得るには、オプション:precision => 2を設定して:significant => true

与えられた例では、使用します

number_with_precision(0.00000012344, :precision => 2, :significant => true)

number_with_precision(0.0035, :precision => 2, :significant => true)

number_with_precision(76.543554, :precision => 2, :significant => true)

さらなる精度については、Rails のドキュメントhttp://api.rubyonrails.org/classes/ActionView/Helpers/NumberHelper.html#method-i-number_with_precisionを参照してください。

于 2013-09-11T21:21:29.157 に答える