Ruby on rails 3 如何在coma后将值舍入到2位,或直到Rails 3中的第一位大于0

Ruby on rails 3 如何在coma后将值舍入到2位,或直到Rails 3中的第一位大于0,ruby-on-rails-3,ruby-1.9.3,Ruby On Rails 3,Ruby 1.9.3,我想要一轮 若数字真的很小,则四舍五入直到第一位数字大于0,然后四舍五入2位。像这样: value=0.00000012344=>四舍五入的值=0.00000012 0.0035到0.0035 昏迷后2位,如果只是随机浮点数,如下所示: 76.543554至76.5 否则如果它是整数,就什么也不要做 100保持100 44保持44 等 我使用的是ruby 1.9.3,我尝试了value.round(2),它只给出了0.00,这并不能让我满意 我认为精确的数字是你问题的完美答案 要获得您要查找

我想要一轮

  • 若数字真的很小,则四舍五入直到第一位数字大于0,然后四舍五入2位。像这样:

    value=0.00000012344=>四舍五入的值=0.00000012

    0.0035到0.0035

  • 昏迷后2位,如果只是随机浮点数,如下所示:

    76.543554至76.5

  • 否则如果它是整数,就什么也不要做

    100保持100

    44保持44


我使用的是ruby 1.9.3,我尝试了value.round(2),它只给出了0.00,这并不能让我满意

我认为精确的数字是你问题的完美答案

要获得您要查找的结果,您应该设置选项
:precision=>2
:signific=>true

对于给定的示例,您将使用

number_with_precision(0.00000012344, :precision => 2, :significant => true)

number_with_precision(0.0035, :precision => 2, :significant => true)

number_with_precision(76.543554, :precision => 2, :significant => true)

关于进一步的精确性,请参见rails文档

我认为精确的数字是您问题的完美答案

要获得您要查找的结果,您应该设置选项
:precision=>2
:signific=>true

对于给定的示例,您将使用

number_with_precision(0.00000012344, :precision => 2, :significant => true)

number_with_precision(0.0035, :precision => 2, :significant => true)

number_with_precision(76.543554, :precision => 2, :significant => true)

有关更多精度,请参见rails文档

,这正是我所需要的。谢谢这正是我需要的。谢谢