检查JSTL字符串是否为数字
java jsp jstl
我的问题是:有没有什么办法来JSTL如果给一个字符串,字符串只包含数字? 先谢谢了。
本文地址 :CodeGo.net/504950/
-------------------------------------------------------------------------------------------------------------------------
1. 你可以使用尝试隐式转换一个字符串到数字和捕捉任何异常(如果有的话)
c:catch
。例如:
<c:catch var="catchString"> <c:set var="myString" value="${0 + 'asd1234'}" /> </c:catch> <c:if test="${not empty catchString}"> <p>Failed: ${catchString}</p> </c:if> <c:catch var="catchNumber"> <c:set var="myNumber" value="${0 + '1234'}" /> </c:catch> <c:if test="${not empty catchNumber}"> <p>Failed: ${catchNumber}</p> </c:if>
将输出这样的:
<p>Failed: java.lang.NumberFormatException: For input string: "asd1234"</p>
如果你想防止彩车你可以建立一个
fmt:formatNumber
检查小数:
<c:set var="myFloat" value="12"/> <fmt:formatNumber value="${myFloat}" pattern="0" var="myInteger"/> <c:if test="${myInteger - myFloat eq 0}"> <p>No decimals</p> </c:if>
当然你这个用
c:catch
捕捉数字格式异常。
<c:set var="myString" value="abc12.34"/> <c:catch> <fmt:formatNumber value="${myString}" pattern="0" var="myInteger"/> <c:set var="passed" value="${myInteger - myString eq 0}"/> </c:catch> <c:if test="${passed}"> <p>Passed</p> </c:if> <c:if test="${not passed}"> <p>Failed</p> </c:if>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?