Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.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中的可读价格_Ruby On Rails - Fatal编程技术网

Ruby on rails Rails中的可读价格

Ruby on rails Rails中的可读价格,ruby-on-rails,Ruby On Rails,我正在寻找这样的函数来响应价格: 17.0 #=> 17 17.5 #=> 17.50 number-to-u-currency以非常熟悉的方式工作,但如果没有美分,仍然会回显$17.00(如果您仍然想使用number-to-u-currency,那么您可以获得想要的工作的一种方法是: number_to_currency(17.0).chomp(".00") => "$17" number_to_currency(17.5).chomp(".00") => "$17.

我正在寻找这样的函数来响应价格:

17.0 #=> 17
17.5 #=> 17.50

number-to-u-currency
以非常熟悉的方式工作,但如果没有美分,仍然会回显
$17.00

如果您仍然想使用
number-to-u-currency
,那么您可以获得想要的工作的一种方法是:

number_to_currency(17.0).chomp(".00") => "$17"
number_to_currency(17.5).chomp(".00") => "$17.50"
这样,如果有“.00”,它就会去掉结尾

chomp(*args)
:“返回一个新字符串,其中给定的记录分隔符已从str的末尾移除(如果存在)。”

您将要查找的字符串,如下所示:

number_to_currency("17.00", strip_insignificant_zeros: false) #-> $17.00
number_to_currency("17.00", strip_insignificant_zeros: true) #-> $17

请尝试使用
to_i
。因此,为了澄清,您始终希望将美分显示为两位数,除非它正好是0美分,对吗?@rorofromrance!没错!:)@Pavan抱歉,我已修复了格式,它们已经是整数了。如果它们已经是整数了,就没有0.5可担心了……这不是
number\u to\u currency
的选项。这是针对
number\u-to\u-human
number\u-to\u-percentage
。。。这真的有效吗?另外,我相信询问者会希望将其设置为真,而不是假-他们不希望17.00美元的.00。是的,它可以工作-我刚刚在我们正在开发的一个应用程序中进行了测试!我认为它是有效的,因为
number\u to\u currency
调用了另一个确实支持该参数的方法。我将更改我的答案以反映
正确的
值谢谢!但是在
17.5
上,它给出的是相同的
17.5
,而不是
17.50
您使用的是刻度/精度参数吗?谢谢提醒-我马上再试!这对Gediminas有帮助吗?