如何在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>
答案 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