我有一个小计算器,我想配置CSS保证金速记到%
我目前正在让用户以一种形式输入数字,然后我将每个数字分开并对其进行“数学运算”。
我希望它在用户使用CSS简写时忽略任何NaN。
我现在有了这个 -
if( isNaN( parseInt(margins || paddings ) ) )
alert(" Please re-enter your age.");
有效,但我想改变“警告”位,只是忽略/替换NaN。
有什么想法吗?
这是我的JSFiddle的链接 - http://jsfiddle.net/sturobson/reCjA/8/
如果用户未提交任何数字
,我不希望出现NaN答案 0 :(得分:0)
if (isNaN(parseInt(margins || paddings))) {
//do nothing.
}
另一种选择,相反的方向:
if(!isNaN(parseInt(margins || paddings))) {
//do something
}
看到你的编辑后,看起来你需要的是包装parseInt
的自定义函数,如果没有有效数字则返回空字符串:
function GetIntOrEmpty(value) {
var result = parseInt(value, 10);
return isNaN(result) ? "" : result + "";
}
然后只需调用它而不是parseInt
,并将所有计算都移到函数调用的“内部”,因为用字符串进行数学运算并不是一个好主意。
例如:
//OTHER RESULT CALCULATIONS
var result4 = GetIntOrEmpty(num4* 2);
var result7 = GetIntOrEmpty(num5 * 2);
var result8 = GetIntOrEmpty(num3 * 2);
var resulta = GetIntOrEmpty(num1 - result8 - result4 - result7);
var result3 = GetIntOrEmpty(num1 - result4);
var result5 = GetIntOrEmpty(num4 / num1 * 100);
var result6 = GetIntOrEmpty(num5 / num1 * 100);
var result = GetIntOrEmpty(resulta / num2 * 100);
var result2 = GetIntOrEmpty(num1 - num3);
答案 1 :(得分:0)
据我所知,你不能做类似的事情:
if( isNaN( parseInt(margins || paddings ) ) ) {
alert(" Please re-enter your age.");
return false;
}