是否将Numbers_to_Currency添加到消息中的金额(Twilio服务的一部分)?

ghg1uchk  于 2022-09-21  发布在  Ruby
关注(0)|答案(1)|浏览(160)

我在一项服务中使用以下方法(通过短信通知。Twilio),我想将Numbers_to_Currency添加到消息中,这样金额的格式就很好了。我尝试了几种方法,但似乎无法奏效。有什么想法吗?

我的方法如下:

def message(details)
  "A transaction of #{details[:amount]} was processed."
end
ttcibm8c

ttcibm8c1#

也许你可以使用NumberHelper#number_to_currency

include ActionView::Helpers::NumberHelper

def message(details)
  "A transaction of #{number_to_currency(details[:amount])} was processed."
end

它将使用当前区域设置,但您可以指定它,还可以使用以下选项格式化输出

:locale-设置要用于格式化的区域设置(默认为当前区域设置)。

:precision-设置精度级别(默认为2)。

:unit-设置货币的面值(默认为“$”)。

:separator-设置单位之间的分隔符(默认为“.”)。

:delimiter-设置千位分隔符(默认为“,”)。

:format-设置非负数的格式(默认为“%u%n”)。该货币的字段为%u,数字的字段为%n

:negative_format-设置负数的格式(默认为在:format给出的格式化数字前加上连字符)。接受与:format相同的字段,不同之处在于%n是该数字的绝对值。

:raise-如果为True,则在参数无效时引发InvalidNumberError

:strip_insignificant_zeros-如果true删除小数点分隔符后面的无关紧要的零(默认为false)。

相关问题