如何在Ruby中为数字添加百分比?
在此示例中,我要将20%
添加到32.92
:
irb(main):001:0> 32.92 * (1 + (20 / 100))
=> 32.92
Google答案带有正确答案; 39.50
。
答案 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