如何在String比较中使用formatNumber返回的值

时间:2015-01-12 11:28:52

标签: string jsp format jstl equals

我得到这一行格式化数字:

<fmt:formatNumber type="number" pattern="###,#######" value="1234567890" var="test"/>

上线输出123 4567890,带有我当前的区域设置(法语)。

如果我使用以下代码:

<c:set var="ref" value="123 4567890"/> ${ref == test}

它返回false,为什么?

首先,我认为test不是字符串,因此我尝试了:

<c:set var="test2" value="${test}"/>

${ref == test2}仍然返回false。

1 个答案:

答案 0 :(得分:-1)

看起来法语区域设置使用不间断的空格字符(“&amp; nbsp”,十六进制0xA0(十进制)160),但您使用的是常规空格(字符32)

这应该打印 true

<fmt:formatNumber type="number" pattern="###,#######" value="1234567890" var="test"/>
<% pageContext.setAttribute("nbsp", String.valueOf('\u00a0'));%>
<c:set var="ref" value="123${nbsp}4567890"/>
ref is ${ref} <br />
test is ${test} <br />
${ref == test}