Ruby程序计算数字中的位数

计算位数

Ruby没有为您提供任何预定义的直接方法,通过该方法可以找到数字中的位数。尽管可以通过将数字转换为字符串然后对它应用.length方法来实现一种方法。在这种情况下,表达式将看起来像“ number.to_s.length”,但这需要将数字转换为字符串。如果您不想应用此类方法,则可以使用下面给出的代码。

使用的方法:

  • puts:此方法是预定义的方法,用于在控制台上打印字符串。

  • gets:gets方法用于通过控制台从用户获取字符串。

使用的变量:

  • num:此变量存储用户提供的数字。

  • temp:用作临时变量,以num形式存储可用值。

  • count:这是一个计数器变量。它存储以num为单位的可用位数。

Ruby代码来计算数字中的位数

=begin
Ruby program to count the number of digits
=end

puts "Enter the number:"
num=gets.chomp.to_i

temp=num
count=0

while (temp>0)
	count+=1
	temp=temp/10
end

puts "#{num} has #{count} digits"

输出结果

RUN 1:
Enter the number
89744
89744 has 5 digits

RUN 2:
Enter the number
8171627331
8171627331 has 10 digits

代码说明:

您可以在上面的代码中观察到我们已经进行了可变计数,即作为计数器并计数位数。计数由0初始化,并在使用while循环提及的条件成立时递增。每次迭代后,该数字除以10。代码并不复杂,很容易理解。