“参数数量错误”使用 round 时出现参数错误

发布于 2024-09-27 00:19:39 字数 436 浏览 1 评论 0原文

我正在尝试将温度从华氏温度转换为摄氏度:

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

残龙傲雪 2024-10-04 00:19:39

在 1.9.0 之前的 ruby​​ 版本中,round 不接受参数。它四舍五入到最接近的整数(请参阅有关浮点数和舍入的使用的文档

使用此相反:

aprox = (x * 100).round() / 100.0

乘以 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:

aprox = (x * 100).round() / 100.0

The whole point of multiplying and dividing by 100 is to round the last two digit of x.

孤芳又自赏 2024-10-04 00:19:39

您没有指定您使用的 Ruby 版本。这很重要,因为在 1.9 之前的 Rubies 中,Float#round 不带参数。在 1.9+ 中确实如此。

>> RUBY_VERSION #=> "1.9.2"
>> pi = 3.141 #=> 3.141
>> pi.round #=> 3
>> pi.round(1) #=> 3.1
>> 3.141.round(1) #=> 3.1

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.

>> RUBY_VERSION #=> "1.9.2"
>> pi = 3.141 #=> 3.141
>> pi.round #=> 3
>> pi.round(1) #=> 3.1
>> 3.141.round(1) #=> 3.1
你げ笑在眉眼 2024-10-04 00:19:39

activesupport(rails 的一部分)还为您提供 Float#round( precision)

activesupport (part of rails) also gives you Float#round(precision)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文