如何在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>
Casting不像Scala那样工作。
你要:
session.get("user_id").toLong
启动Scala 2.13
你可能更喜欢String::toLongOption
,以便安全地处理不能投射到String
的Long
s:
"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
的混合:
import scala.util.Try
Try("1234".toLong).getOrElse(-1L) // 1234L
Try("lOZ1".toLong).getOrElse(-1L) // -1L