在模板播放2.0模板中将字符串转换为Scala中的Long

时间:2012-05-02 02:14:22

标签: templates scala playframework-2.0

如何在Scala play 2.0模板中从String转换为long?

我想执行以下操作:Application.profile(Long user_id)

<a href='@routes.Application.profile((Long) session.get("user_id"))'>@session.get("username")</a>

2 个答案:

答案 0 :(得分:29)

Casting不像Scala那样工作。

你想:

session.get("user_id").toLong

答案 1 :(得分:0)

Scala 2.13开始,您可能更喜欢String::toLongOption,以便安全处理无法转换为String的{​​{1}}:

Long

在您的情况下:

"1234".toLongOption.getOrElse(-1L) // 1234L
"lOZ1".toLongOption.getOrElse(-1L) // -1L
"1234".toLongOption                // Some(1234L)
"lOZ1".toLongOption                // None

在早期版本中,您也可以混合使用session.get("user_id").toLongOption.getOrElse(-1L) String::toLong

Try