将百分比添加到Ruby中的数字

时间:2019-07-04 12:03:12

标签: ruby

如何在Ruby中为数字添加百分比?

在此示例中,我要将20%添加到32.92

irb(main):001:0> 32.92 * (1 + (20 / 100))
=> 32.92

Google答案带有正确答案; 39.50

2 个答案:

答案 0 :(得分:6)

假设您的基本值是: 39.92 。 您的标记是 20

整数除法将导致以下结果:

20 / 100
# => 0

所以irb是正确的方向。这样可以得到更好的结果:

20.to_f / 100
# => 0.2

所以最终的计算将如下所示:

final_value = (base_value + (markup.to_f / 100) * base_value).round

这将为您提供期望的值。

由于您不介意将结果设为底数而不是四舍五入,因此可以使用整数除法获得正确的结果:

final_value = base_value + base_value * markup / 100

答案 1 :(得分:4)

20 / 100返回0,因为如果您将整数作为参数传递,则它是整数除法。相反,您可以像这样传递浮点数:

32.92 * (1 + (20.0 / 100.0))

或简单地做:

32.92 * 1.2