Прежде всего это связано с представлением toString
значения Double
.
Например
scala> val a: Double = 55000000
a: Double = 5.5E7
scala> a.toString
res8: String = 5.5E7
Double
типа
В соответствии с Scala docs, то Double
тип представляет собой 64-битное число с плавающей точкой эквивалентно double
примитивного типа Java.
Теперь, если Double
- это то, что вам действительно нужно, вы должны отформатировать его должным образом, иначе вы можете использовать тип Long
.
Форматирование
Вы можете обратиться к String Interpolation section в Scala документации для получения дополнительной информации о форматировании, но на короткое время, вы можете добиться того, что вы хотите с
"%1.0f" format a
, который дает вам 55000000
как результат.
Play хелперы
Я бы сказал, вы должны настроить это, где вы определяете Form
(или ваш Field
, если у вас нет каких-либо Form
), а не в файле шаблона.
Что вам нужно изменить это format
определено в play.api.data.Mapping
классе:
/**
* The Format expected for this field, if it exists.
*/
val format: Option[(String, Seq[Any])] = None
при определении Form
или format
передается Field
случае класса в случае использования Field
непосредственно:
/**
* @param format the format expected for this field
*/
case class Field(private val form: Form[_], name: String, constraints: Seq[(String, Seq[Any])], format: Option[(String, Seq[Any])], errors: Seq[FormError], value: Option[String])
См. Мой ответ ниже. Кстати, если вы могли бы предоставить более подробную информацию о том, как вы определяете 'field' (это форма?), Я мог бы отредактировать ответ, чтобы предоставить более релевантные детали. –