在 Ruby 中将字符串转换为整数

Hassan Ejaz 2022年7月18日
在 Ruby 中将字符串转换为整数

我们将通过示例介绍如何在 Ruby 中将字符串转换为 int。

在 Ruby 中将字符串转换为整数

在某些情况下,我们在应用程序中将数字作为字符串插入,这可能会导致在数据库中添加具有特定数字字段的数据时出现问题。在向数据库中插入数据时,我们会得到一个类型不匹配的错误,因此数据不会被插入到数据库中。

由于这个问题,我们可能会从我们的应用程序中丢失一些数据。为此,Ruby 有一些内置函数可以将字符串转换为特定的数字类型,例如 int、float、有理数和复数。

在本教程中,我们将学习如何使用这些方法在 Ruby 中将字符串转换为不同类型的数字。

我们可以使用 Ruby 内置的 to_i 方法将字符串转换为整数。我们可以将字符串传递给 to_i 方法,转换后我们会得到一个数字,如果字符串无效,则数字变为 0。

将数字字符串转换为数字的主要原因是我们不能将它们添加为数字。如果我们尝试添加数字字符串,它们将充当连接,而不仅仅是添加数字。

让我们通过一个示例,尝试使用数字字符串进行加法,如下所示。

# Ruby
string1 = "5"
string2 = "6"
puts string1+string2

输出

不将 str 转换为 int 的加法

让我们使用 to_i 方法在添加数字之前对其进行转换,如下所示。

# Ruby
string1 = "5"
string2 = "6"
puts string1.to_i+string2.to_i

输出:

将 str 转换为 int 后的加法

从上面的例子中我们可以看出,在 Ruby 中使用 to_i 方法可以成功进行数字相加。

现在,如果我们想将字符串转换为浮点数,我们可以使用 to_f 方法。让我们通过一个例子,使用这个方法将字符串转换为浮点数,如下所示。

# Ruby
string1 = "5.3"
string2 = "6.4"
puts string1.to_f+string2.to_f

输出:

在 Ruby 中将字符串转换为浮点数

从上面的例子可以看出,我们也可以使用这个函数将字符串转换为浮点数。同理,我们也可以使用 to_r 方法将字符串转换为有理数,也可以使用 to_c 方法将字符串转换为复数。

相关文章 - Ruby String