Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:将十进制从数字\u删除为\u货币_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails Rails:将十进制从数字\u删除为\u货币

Ruby on rails Rails:将十进制从数字\u删除为\u货币,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个浮动价格: number_to_currency(m.price, :locale => 'en_us') 我得到:$39.00 如何删除.00,我想获得: $39 您可以将精度设置为0,如Rails API文档中所述 number_to_currency(m.price, locale: :en, precision: 0) 请注意,您的价格将四舍五入,从38.50美元到39.49美元的任何价格都将显示为39美元 编辑:将地区:en_us交换为:en,这可能会在更多应用程序

我有一个浮动价格:

number_to_currency(m.price, :locale => 'en_us')
我得到:
$39.00

如何删除
.00
,我想获得:

$39

您可以将精度设置为0,如Rails API文档中所述

number_to_currency(m.price, locale: :en, precision: 0)
请注意,您的价格将四舍五入,从38.50美元到39.49美元的任何价格都将显示为39美元


编辑:将地区
:en_us
交换为
:en
,这可能会在更多应用程序中启用。

假设您只想在0美分的情况下跳过小数,如何

number_to_currency(m.price, :locale => 'en_us').gsub(/\.00$/, "")

如果你只想删除不重要的0,你可以使用这个选项:
number\u to\u currency(amount,strip\u minality\u zero:true)
也许不是op想要的,但这帮了我很多忙——谢谢!我发现当你只想隐藏.00,但如果有可用的话可以保留任何便士时,这真的很有用。我得到
“en_us”不是有效的区域设置
尝试
区域设置::en
。您的错误消息可能与
I18n有关。强制执行可用的\u区域设置
number\u到\u货币(此处您的\u编号,单位:,分隔符:,分隔符:,,精度:0)