“参数数量错误”使用 round 时出现参数错误
我正在尝试将温度从华氏温度转换为摄氏度:
puts 'Convertir grados Fahrenheit a Celcius'
STDOUT.flush
x = gets.chomp
aprox = (x * 100.0).round(2) / 100.0
resultado = (aprox-32)/1.8
puts resultado
我使用正确的公式将华氏温度转换为摄氏温度:
摄氏度 = 华氏度 - 32 / 1.8
但是,当我在控制台中运行它时,它给出以下错误:
“round”:参数数量错误(1 代表 0)(ArgumentError)
我尝试了不同的方法,但我不明白为什么这不起作用。
I am trying to convert a temperature from Fahrenheit to Celsius:
puts 'Convertir grados Fahrenheit a Celcius'
STDOUT.flush
x = gets.chomp
aprox = (x * 100.0).round(2) / 100.0
resultado = (aprox-32)/1.8
puts resultado
I use the correct formula for converting Fahrenheit to Celcius:
Celsius = Fahrenheit - 32 / 1.8
However, when I run this in the console, it gives me the following error:
`round': wrong number of arguments (1 for 0) (ArgumentError)
I've tried different things but I don't understand why this doesn't work.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在 1.9.0 之前的 ruby 版本中,
round
不接受参数。它四舍五入到最接近的整数(请参阅有关浮点数和舍入的使用的文档)使用此相反:
乘以 100 和除以 100 的全部意义在于舍入 x 的最后两位数。
In ruby version prior to 1.9.0
round
does not take arguments. It rounds to the nearest integer (see the documentation about floats and the use of round)Use this instead:
The whole point of multiplying and dividing by 100 is to round the last two digit of x.
您没有指定您使用的 Ruby 版本。这很重要,因为在 1.9 之前的 Rubies 中,Float#round 不带参数。在 1.9+ 中确实如此。
You don't specify what version of Ruby you are using. That makes a difference, because in Rubies prior to 1.9 Float#round did not take a parameter. In 1.9+ it does.
activesupport(rails 的一部分)还为您提供 Float#round( precision)
activesupport (part of rails) also gives you Float#round(precision)