def percent_of
puts "What is the number?"
number = gets.chomp.to_f
puts "What is the percent?"
percent = gets.chomp.to_f
total_percent_of = number * percent.to_f
puts " #{percent}% of #{number} is #{total_percent_of.to_i}."
end
好的,这是一个非常简单的程序百分比,工作正常。但有一点我不喜欢的是,每当控制台打印出总数时,它就像下面的例子:417的75.0%是31275。 现在有什么方法可以得到总数以十进制/货币形式输出?喜欢它应该是312.75或类似的东西。请尽量保持简单的答案,我是Ruby的新手。谢谢!
答案 0 :(得分:1)
首先你需要修正你的数学。 75%等于75/100所以你想要
total_percent_of = number * percent / 100.0
接下来,您需要一个格式字符串,以确保始终使用正确的小数位数打印total_percent_of
:
sprintf " #{percent}%% of #{number} is %.2f", total_percent_of
(%%
之后需要percent
,因为百分号对sprintf有特殊意义)。有关字符串格式的详细信息,请参阅the documentation。