📜  ruby 字符串到 int - Ruby (1)

📅  最后修改于: 2023-12-03 14:47:09.320000             🧑  作者: Mango

Ruby字符串到整数

Ruby提供了一种将字符串转换为整数的方法,这对于需要进行数字运算的程序非常有用。在本文中,我们将探讨几种不同的方式来实现这一转换。

使用to_i方法

在Ruby中,可以使用to_i方法将一个字符串转换为整数。该方法会将字符串中的数字提取出来并转换为整数。如果字符串中包含非数字字符,这些字符将被忽略。

示例代码:

str = '123'
num = str.to_i
puts num
# 输出: 123
使用Kernel#Integer方法

另一种将字符串转换为整数的方法是使用Kernel#Integer方法。该方法可以将任何对象转换为整数,包括字符串。

但需要注意的是,如果字符串中包含非数字字符,该方法会抛出一个ArgumentError异常。如果需要处理这种情况,可以指定第二个参数作为进制(默认为10),这样如果字符串中包含非数字字符,它们会被忽略。

示例代码:

str1 = '123'
str2 = 'abc'
num1 = Integer(str1)
begin
  num2 = Integer(str2)
rescue ArgumentError => e
  puts "无法将字符串转换为整数: #{e.message}"
end
puts num1
# 输出: 123
使用String#unpack方法

还有一种将字符串转换为整数的方式是使用String#unpack方法。该方法可以将字符串转换为指定格式的二进制数据,其中包含想要转换的整数。

示例代码:

str = '123'
num = str.unpack('i')[0]
puts num
# 输出: 123

在此示例中,'i'表示使用C语言int类型的格式转换数据。我们只用使用[0]来抓取第一个返回值,因为unpack的返回数组包含了所有转换结果。

以上是在Ruby中将字符串转换为整数的三种方法。根据需要和实际情况,可以灵活使用其中一种或几种方法来实现此功能。