#java #scala #templates #playframework-2.0 #web-frameworks
#java #scala #шаблоны #playframework-2.0 #веб-фреймворки
Вопрос:
У меня возникла небольшая проблема со значением с плавающей запятой в шаблоне воспроизведения. Я написал этот код
@String.format("%.2f",session.get("product." product.id.toString).toFloat*product.vkBrutto)
и я получил эту ошибку:
Значение перегруженного метода [format] не может быть применено к (String, Float)
Я уже пробовал другие способы, но это не увенчалось успехом. Я ищу возможность получить такой результат: 2,30 Может быть, кто-нибудь может мне помочь, спасибо
Комментарии:
1. Какой тип ошибки вы получаете, ошибка компиляции или ошибка времени выполнения. Один совет попробуйте упростить значение формата, поместите его в метод шаблона, если сможете.
Ответ №1:
Это неправильное использование для String.format
. format
должен вызываться для экземпляра a String
, который содержит форматирование.
Пример:
"%.2f".format(2.19387474)
возвращает «2.19».
Вам понадобится что-то вроде этого:
@{"%.2f".format(session.get("product." product.id.toString).toFloat*product.vkBrutto)}
Комментарии:
1. спасибо, это работает. Мне просто интересно, что это работает: @String.format(«%.2f»,product.vkBrutto)
2. Зависит от того, какой тип
product.vkBrutto
есть. Использование метода в моем ответе будет безопаснее в Scala, какString.format(format, object)
и реализация Java. Поэтому, когда вы передаете его aFloat
, он не работает, потомуFloat
что это не JavaObject
.