问题描述
- 把 shuifen这个变量的值设置在12-16或22-38之间
-
我把else if 中的 shuifen<=glmax 改成parseFloat(shuifen)<=glmax就没事儿啦,但是我不理解,哪位大神知道是为什么
slmin=22 slmax=38 glmin=12 glmax=16JS里:我用if,else if,else 把 shuifen这个变量的值设置在12-16或22-38之间,但是测试的时候,100以上全部也能输入并保存,求大神看看我的代码哪里需要改正。求指导,求改正
if(parseFloat(shuifen)>=parseFloat(slmin)&&parseFloat(shuifen)<=parseFloat(slmax)){ danjia =slbiaozhunjia- (shuifen-slbiaozhun)*sljiagebodong; document.getElementById("ruKu.danJia").value=danjia.toFixed(2); } else if(parseFloat(shuifen)>=parseFloat(glmin)&&shuifen<=glmax ){ danjia =glbiaozhunjia- (shuifen-glbiaozhun)*gljiagebodong; document.getElementById("ruKu.danJia").value=danjia.toFixed(2); } else{alert("水分在"+glmin+"—"+glmax+"或"+slmin+"—"+slmax+"之间")}
解决方案
因为是弱类型,最好将不等式两边转为同一种数据类型进行比较
时间: 2024-11-01 06:55:27