在Scala中将字符串转换为整数的最简洁方法?

时间:2015-06-12 11:51:51

标签: java scala number-formatting

在Java中,我可以使用以下两个语句将字符串转换为整数,这可以处理异常:

bind()

但是,我在Scala中找到的方法总是使用// we have some string s = "abc" int num = 0; try{ num = Integer.parseInt(s); } catch (NumberFormatException ex) {} 方法,如下所示,它包含几行代码,看起来有点冗长。

try-catch/match-getOrElse

这是在Scala中将字符串转换为整数的唯一方法(能够处理异常)还是有更简洁的方法?

1 个答案:

答案 0 :(得分:12)

考虑

util.Try(s.toInt).getOrElse(0)

这将在捕获可能的异常时传递整数值。因此,

def toInt(s: String): Int = util.Try(s.toInt).getOrElse(0)

或者如果首选Option

def toInt(s: String): Option[Int] = util.Try(s.toInt).toOption

如果转换失败,则会传递None

相关问题