jsp 获取两个数值直接用大于、小于比较大小和算加法,不是按数字大小比较,JSP都是以字符串在操作
今天在马来项目:jsp开发过程中遇到个问题....
jsp获取数值,比较大小和算加法都是以字符串的方式在比较和计算,加法直接拼接,代码如下
<tr>
<td align="right" width="40%" style="height:20px;">
我当前房卡数:
</td>
<td colspan="2" align="left" style="height:20px;">
<span id="myRoomCardNum">${operatRC }</span>
</td>
</tr>
<tr>
<td align="right" width="40%" style="height:20px;">
出售数量:
</td>
<td colspan="2" align="left" style="height:20px;">
<input name="" type="text" id="sellNumOne" class="put" maxlength="12" />
<span id="sellNumOneMSG" class="red"></span>
</td>
</tr>
下面是获取值:
var myRoomCardNum = $("#myRoomCardNum").html();
var sellNum = $.trim($("#sellNumOne").val());
if(sellNum == null || sellNum == ""){
$("#sellNumOneMSG").html("不能为空");
return false;
}
var reg = /^[1-9]d*$/;
if(isNaN(sellNum)){
$("#sellNumOneMSG").html("必须为数字");
return false;
}
if(! reg.test(sellNum)){
$("#sellNumOneMSG").html("必须为正数");
return false;
}
if(sellNum-myRoomCardNum>0){
$("#sellNumOneMSG").html("你的房卡数不足");
return false;
}
原因:
jsp开发中获取数据默认都是字符串,也就是字符串的优先级比较高,当对数据做比较计算加法时,它都是先以字符串的形式进行对应的操作!
解决办法:
比较大小通过减法来实现!
加法计算-----对获取的数值进行一个转换,如:console.log(parseInt(myRoomCardNum)+parseInt(sellNum));
分析问题和解决方法有误或不全欢迎指教!!
阅读更多- 上一篇:没有了
- 下一篇:没有了