6

number_to_human を使用して 400 万を印刷しています。数字の前に $ を追加する方法があるかどうか疑問に思っていましたか? 負の数があると問題が発生します。前に$を投げるだけで、彼らが望む-400万ドル-400万ドルが得られます

4

3 に答える 3

12

Railsに組み込まれています:

number_to_currency(number_to_human(-4000000))
# => "-$4 Million"

慣例を使用する大きな利点は、i18n が必要な場合にロケールを渡すだけでよいことです。

number_to_currency(number_to_human(-4000000), locale: 'en-EU')
# => "-4 Million €"
于 2013-04-02T18:52:03.370 に答える
6

その興味深いことと、もしそれが誰かに役立つなら:

How to Present thousands as "K", millions as "M" in ruby for that, 
just follow the steps

一番上のコントローラに NumberHelper を含めます

include ActionView::Helpers::NumberHelper

この number_to_human Helper を使用して値を渡します. これにより値が変換されます.

<%= number_to_human(5223654) %>

このコードを en.yml に貼り付けて動作させます

en:
  number:
    human:
      decimal_units:
       format: "%n%u"
       units:
         unit: ""
         thousand: K
         million: M
         billion: B
         trillion: T
         quadrillion: Q
于 2014-11-13T06:11:44.937 に答える