我試圖寫入一個小程序,將計算非常簡單的方程一個非常簡單的Ruby case語句求解器
Revenue = Costs * (1 + Profitpercentage)
例如,121 = 110 *(1 + 0.10),當任何一個 - 只有3個元素中的一個缺失。
我想出了:
puts "What is your Revenue ?"
inputRevenue = gets
puts "What are your Costs ?"
inputCosts = gets
puts "What is your Profit percentage ?"
inputProfitpercentage = gets
revenue = inputRevenue.to_f
costs = inputCosts.to_f
profitpercentage = inputProfitpercentage.to_f
case
when (revenue == nil) then
puts "Your Revenue is : #{costs * (1 + profitpercentage)}"
when (costs == nil) then
puts "Your Costs are : #{revenue/(1 + profitpercentage)}"
else (profitpercentage == nil)
puts "Your Profit percentage is : #{(revenue/costs) - 1}"
end
要指定要計算的元素,我直接跳過了答案(我只鍵入回車)。
它與Profitpercentage
未知。
隨着Costs
未知它給:
你的利潤百分比是:無限
隨着Revenue
未知它給:
你的利潤百分比爲:-1.0
我哪裏錯了? (此外,它很笨拙......)
儘量不要使用浮動。使用BigDecimal(to_d)。 – Elyasin
空字符串'.to_f'爲零,而不是'nil'.''。to_f == 0',而不是'nil'。 – mudasobwa