Это может быть глупый вопрос, но скажем, у меня есть переменная секунды
на моей странице JSP и его значение равно 779. Теперь я хочу преобразовать его в минуты и секунды, выполнив следующие действия:
<c:set var="${seconds / 60}" value="min"/>
<c:set var="${seconds mod 60}" value="sec">
Таким образом, я получаю min = 12,983333 и sec = 59,0.
Теперь я хочу объединить их и отобразить результат как 12:59. Проблема, с которой я столкнулся, заключается в том, что min
продолжает округляться до 13. Я пробовал много вещей, например:
<fmt:parseNumber var="minutes" integerOnly="true" type="number" value="${min}" />
<fmt:formatNumber type="number" pattern="###" value="${min}" var="minutes" />
fn:substringBefore(min, '.')
maxFractionDigits="0"
// and so on...
Но все они последовательно возвращают 13. Я немного не в курсе на данный момент. Но может я что-то упустил. Я надеюсь, что у кого-то здесь есть идея или намек на то, что может быть не так.
-edit
Приведенный ниже код в конце концов заработал. Я понятия не имею, что было не так, так как теперь он также работает с «/». Может быть, какая-то небольшая ошибка в другом месте. Тем не менее, большое спасибо за ваше время :) Престижность!
<c:set var="min" value="${fn:substringBefore((seconds div 60), '.')}"/>
<fmt:formatNumber var="sec" pattern="##" value="${seconds mod 60)}"/>