我要圆
如果数字非常小,则四舍五入直到第一位大于 0,然后四舍五入 2 位。像这样:
值 = 0.00000012344 => 舍入值 = 0.00000012
0.0035 至 0.0035
如果只是随机浮点数,则昏迷后的 2 位数字,如下所示:
76.543554 至 76.5
否则,如果它是整数,则不做任何事情
100 留 100
44 停留 44
ETC
我正在使用 ruby 1.9.3 并且我尝试了 value.round(2) ,它只给了我 0.00 ,这并不让我满意。
我要圆
如果数字非常小,则四舍五入直到第一位大于 0,然后四舍五入 2 位。像这样:
值 = 0.00000012344 => 舍入值 = 0.00000012
0.0035 至 0.0035
如果只是随机浮点数,则昏迷后的 2 位数字,如下所示:
76.543554 至 76.5
否则,如果它是整数,则不做任何事情
100 留 100
44 停留 44
ETC
我正在使用 ruby 1.9.3 并且我尝试了 value.round(2) ,它只给了我 0.00 ,这并不让我满意。
我认为 number_with_precision 是您问题的完美答案
要获得您正在寻找的结果,您应该设置选项:precision => 2和:significant => 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 文档http://api.rubyonrails.org/classes/ActionView/Helpers/NumberHelper.html#method-i-number_with_precision