Ruby on Rails-四舍五入、十位数和百位数

Ruby on Rails-四舍五入、十位数和百位数,ruby,Ruby,我想对数值进行1和10位数的四舍五入 如果是1999年,则应显示为1900 如果是19999,它应该显示为19000 代码是这样的 {total_cost.to_money.format(:no_cents)}您可以使用如下内容: def myround(value) return value if value < 100 temp = value.to_s temp[0..1] + "0" * (temp.lenth - 2) end (n.to_i / 100) * 10

我想对数值进行1和10位数的四舍五入

如果是1999年,则应显示为1900

如果是19999,它应该显示为19000

代码是这样的


{total_cost.to_money.format(:no_cents)}您可以使用如下内容:

def myround(value)
  return value if value < 100
  temp = value.to_s
  temp[0..1] + "0" * (temp.lenth - 2)
end
(n.to_i / 100) * 100
def myround(值)
如果值<100,则返回值
温度=值。至
温度[0..1]+“0”*(温度长度-2)
结束

您可以使用以下内容:

def myround(value)
  return value if value < 100
  temp = value.to_s
  temp[0..1] + "0" * (temp.lenth - 2)
end
(n.to_i / 100) * 100
def myround(值)
如果值<100,则返回值
温度=值。至
温度[0..1]+“0”*(温度长度-2)
结束

您可以这样旋转:

def myround(value)
  return value if value < 100
  temp = value.to_s
  temp[0..1] + "0" * (temp.lenth - 2)
end
(n.to_i / 100) * 100

然而,您要求的是一个猴子补丁,因此:nocents是一个有效的参数。。。我想是钱吧。我查看了rails源代码,没有看到monkey补丁应该放在哪里。

您可以这样循环:

def myround(value)
  return value if value < 100
  temp = value.to_s
  temp[0..1] + "0" * (temp.lenth - 2)
end
(n.to_i / 100) * 100

然而,您要求的是一个猴子补丁,因此:nocents是一个有效的参数。。。我想是钱吧。我查看了rails源代码,没有看到monkey补丁应该放在哪里。

对于19999,应该是19900?为什么是19000?因为只需要2个有效数字?对于19999,它应该是19900?为什么是19000?因为只需要两个有效数字?