可能重复:
Ruby 中的安全整数解析
int.Parse
将字符串转换为整数,但如果字符串无法转换则抛出异常。int.TryParse
当它无法将字符串转换为 int 时不会抛出错误,而是返回0
和bool
表示字符串是否可以转换的 a。
Ruby中有类似的东西吗?
可能重复:
Ruby 中的安全整数解析
int.Parse
将字符串转换为整数,但如果字符串无法转换则抛出异常。int.TryParse
当它无法将字符串转换为 int 时不会抛出错误,而是返回0
和bool
表示字符串是否可以转换的 a。
Ruby中有类似的东西吗?
Ruby 中没有直接的等价物。两个主要选项是:
Integer('42')
. 这更像是 C# 的Int32.Parse
,因为它会引发错误。String.to_i
,即:"42".to_i
。0
如果您传入的内容至少不能部分转换为整数,但不会导致错误,这将返回。(前提是您没有提供无效的基数。)将返回字符串的整数部分,如果字符串中不存在整数,则返回 0。Integer(str) 可能是您需要的东西 -Integer('123')
将返回 123 并Integer('123a')
抛出异常。