如何在Ruby中为数字添加百分比?
在这个例子中,我想添加20%到32.92:
irb(main):001:0> 32.92 * (1 + (20 / 100))
=> 32.92
Run Code Online (Sandbox Code Playgroud)
Google回答正确的答案;39.50。
假设您的base_value是:39.92。您的加价为20。
整数除法将导致以下结果:
20 / 100
# => 0
Run Code Online (Sandbox Code Playgroud)
因此,irb是正确的方向。这样可以得到更好的结果:
20.to_f / 100
# => 0.2
Run Code Online (Sandbox Code Playgroud)
因此,最终的计算将如下所示:
final_value = (base_value + (markup.to_f / 100) * base_value).round
Run Code Online (Sandbox Code Playgroud)
这给您期望值。
由于您不介意将结果设为底数而不是四舍五入,因此可以使用整数除法获得正确的结果:
final_value = base_value + base_value * markup / 100
Run Code Online (Sandbox Code Playgroud)
20 / 100返回0,因为如果您传递整数作为参数,则它是整数除法。相反,您可以传递浮点数,如下所示:
32.92 * (1 + (20.0 / 100.0))
Run Code Online (Sandbox Code Playgroud)
或者简单地做:
32.92 * 1.2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |