ruby - 当字符串包含数字时,为什么 Ruby 的 String#to_i 有时会返回 0?

标签 ruby string data-conversion

我刚刚尝试使用 Ruby,然后遇到了 String#to_i。假设我有这段代码:

var1 = '6 sldasdhkjas'
var2 = 'aljdfldjlfjldsfjl 6'

为什么 puts var1.to_i 输出 6puts var2.to_i 给出 0

最佳答案

to_i 方法返回由字符串开头 处的所有可解析数字组成的数字。您的第一个字符串以带有数字的 a 开头,因此 to_i 返回该字符串,第二个字符串不以数字开头,因此返回 0。顺便说一句,空格被忽略,所以 "123abc".to_i 返回 123.

关于ruby - 当字符串包含数字时,为什么 Ruby 的 String#to_i 有时会返回 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8768865/

相关文章:

java - 发送电子邮件时更改文本(字符串)的颜色

c++ - 为什么转置这个 std::vector<std::vector<std::string>> 这么慢?

r - 将因子转换为逻辑数据类型

Python -0.000000e+00 struct pack返回错误值

ruby-on-rails - Postgres 列为列

ruby - Bundle install 不会从私有(private) git repo 安装 gem

string - 更改 UIDatePicker 文本颜色

c - 如何改进 printf 各种整数类型的缓冲区大小确定?

ruby-on-rails - 使用 watir 在命令行中显示搜索到的链接 url

ruby - 警告——DICOM : Decompressing pixel values has failed