gpt4 book ai didi

ruby-on-rails - 使 Rails 的 number_to_percentage 输出基于输入值的动态小数位数?

转载 作者:太空宇宙 更新时间:2023-11-03 17:28:50 25 4
gpt4 key购买 nike

我想使用 Rails 的 number_to_percentage 方法以百分比形式显示 0 到 100 范围内的十进制数字,包括数字的所有小数位,并且没有不必要的尾随零。

一些示例输入及其相应的期望输出:

12        => "12%"
12.3 => "12.3%"
12.34 => "12.34%"
12.345 => "12.345%"
12.3456 => "12.3456%"

正如文档所述,number_to_percentage 的默认精度为 3,因此 number_to_percentage(12.3456) 产生 "12.346%" 而不是我的期望值。同样,number_to_percentage(12) 产生 "12.000%" 而不仅仅是 "12%"

我试验了 precisionsignificantstrip_insignificant_zeroes 选项的不同值组合到 number_to_percentage,但没有得到我想要的结果。

有没有办法使用 number_to_percentage 来产生我想要的结果?或者这不是 number_to_percentage 的预期功能,我应该采取不同的方法——例如使用基本字符串操作简单地将 '%' 附加到我的输入的末尾?

最佳答案

将精度设置为高于您需要的数字,并将 strip_insignificant_zeros 设置为 true 可提供所需的结果:

number_to_percentage 12, precision: 100, strip_insignificant_zeros: true
#=> "12%"

number_to_percentage 12.3, precision: 100, strip_insignificant_zeros: true
#=> "12.3%"

number_to_percentage 12.34, precision: 100, strip_insignificant_zeros: true
#=> "12.34%"

number_to_percentage 12.345, precision: 100, strip_insignificant_zeros: true
#=> "12.345%"

number_to_percentage 12.3456, precision: 100, strip_insignificant_zeros: true
#=> "12.3456%"

关于ruby-on-rails - 使 Rails 的 number_to_percentage 输出基于输入值的动态小数位数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54774192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com