Ruby中C#的int.TryParse()方法的等价物是什么?

时间:2012-09-20 22:06:24

标签: c# ruby

  

可能重复:
  Safe integer parsing in Ruby

int.Parse将字符串转换为整数,但如果无法转换字符串则抛出异常。 int.TryParse在无法将sting转换为int时不会抛出错误,而是返回0bool,表示字符串是否可以转换。

Ruby中有类似的东西吗?

2 个答案:

答案 0 :(得分:7)

Ruby中没有直接的等价物。两个主要选项是:

  1. 使用Integer('42')。这更像是C#的Int32.Parse,因为它会引发错误。
  2. 使用String.to_i,即:"42".to_i。如果您传入的内容不是至少部分可转换为整数,但返回0,则永远不会导致错误。 (如果您还没有提供无效的基数。)将返回字符串的整数部分,如果字符串中不存在整数,则返回0。

答案 1 :(得分:1)

整数(str)可能是您需要的东西 - Integer('123')将返回123而Integer('123a')将抛出异常。