JSTL에서 값을 더하고 비교할 때.. 다음과 같은 경우가 발생해서 당황했던 적이 있다.
var value1 = "300";
var value2 = "500";
var value3 = "3000";
<c:if test="${value1 < value2}">
console.log("value2 is big");
</c:if>
<c:if test="${value2 < value3}">
console.log("value 3 is big");
</c:if>
위 구문의 결과는...
> value2 is big.
끝이다. value3가 더 큰거 아닌가????
음.. JSTL에서 숫자 비교 시, 그냥 저렇게 value만 비교하면 안된다고,..
var value1 = "300";
var value2 = "500";
var value3 = "3000";
<c:if test="${value1 + 0 < value2 + 0}">
console.log("value2 is big");
</c:if>
<c:if test="${value2 + 0 < value3 + 0}">
console.log("value 3 is big");
</c:if>
이렇게 해야.. console에 value2 is big, value 3 is big이 다 찍힌다. (즉.. 제대로 계산한다.)
반응형
댓글