lila/app/templating/NumberHelper.scala

29 lines
794 B
Scala
Raw Normal View History

2013-02-27 17:12:13 -07:00
package lila.app
2012-06-07 18:19:21 -06:00
package templating
import java.text.NumberFormat
2013-12-27 15:12:20 -07:00
import java.util.Locale
2020-02-09 07:38:26 -07:00
import play.api.i18n.Lang
import scala.collection.mutable
2012-06-07 18:19:21 -06:00
2014-02-17 02:12:19 -07:00
trait NumberHelper { self: I18nHelper =>
2020-09-29 23:58:45 -06:00
private val formatters = mutable.AnyRefMap.empty[String, NumberFormat]
2012-06-07 18:19:21 -06:00
2020-02-09 07:38:26 -07:00
private def formatter(implicit lang: Lang): NumberFormat =
2012-06-07 18:19:21 -06:00
formatters.getOrElseUpdate(
2020-02-09 07:38:26 -07:00
lang.language,
NumberFormat getInstance new Locale(lang.language)
)
2012-06-07 18:19:21 -06:00
2020-02-09 07:38:26 -07:00
def showMillis(millis: Int)(implicit lang: Lang) = formatter.format((millis / 100).toDouble / 10)
2014-02-06 11:22:28 -07:00
implicit final class RichInt(number: Int) {
2020-02-09 07:38:26 -07:00
def localize(implicit lang: Lang): String = formatter format number
2012-06-07 18:19:21 -06:00
}
implicit final class RichLong(number: Long) {
def localize(implicit lang: Lang): String = formatter format number
}
2012-06-07 18:19:21 -06:00
}