【问题标题】:Human readable fractional numbers in Rails?Rails中人类可读的小数?
【发布时间】:2013-09-16 00:33:11
【问题描述】:

我喜欢 Rails 中的pluralize 方法。我希望小数有类似的机制,它们可以更易于人类阅读。例如,这将是理想的:

> include ActionView::Helpers::TextHelper
> pluralize(2.0, 'donut')
 => "2.0 donuts" 
> pluralize_and_humanize(2.0, 'donut')
 => "2 donuts"
> pluralize_and_humanize(2.5, 'donut')
 => "2 and a half donuts"
> pluralize_and_humanize(1.0, 'donut')
 => "1 donut"
> pluralize_and_humanize(0.5, 'donut')
 => "half a donut"
> pluralize_and_humanize(0.75, 'donut')
 => "3/4 of a donut"

rails 内置了什么?我可以使用任何宝石吗?

【问题讨论】:

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2 ruby-on-rails-4 pluralize


【解决方案1】:

其实,我想我有东西要给你。

在您的项目中设置rails fractions plugin。然后,编写自己的助手,如下所示:(伪代码)

def pluralize_and_humanize(number, string)
  split number into integer and fractional part -> whole, fraction

  convert fraction to [nice_fraction][2] if there is a fractional component

  output whole number + nice_fraction + pluralized string
end

现在,我不会帮助您输出“半”或“四分之一”,但我认为“2 1/2”至少会比 2.5 好。

【讨论】:

    猜你喜欢
    • 2014-02-08
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    • 1970-01-01
    • 2010-12-27
    相关资源
    最近更新 更多