Javascript: 检查是否为非数字
Javascript: 检查是否为非数字
我正在尝试从头开始制作一种小型计算器。我有一个带有2个输入字段和一个提交按钮的表单。当按下提交按钮时,将执行此函数。然而,我正在尝试检查用户在字段中输入的值是否为数字。我找到了IsNaN函数来做这个,但是它没有显示应该在字段没有数字值或字段为空时给出的警报。这是我现在的javascript函数:
function rekenmachine(){ //Get the entered numbers var getal1 = document.getElementById('getal1').value; var getal2 = document.getElementById('getal2').value; if(isNaN(getal1)){ alert("请在两个字段中输入数字。"); } else{ var uitkomst = parseFloat(getal1) + parseFloat(getal2); document.getElementById('uitkomst').value = uitkomst; } }
原因:Javascript中isNaN()函数用于检查一个值是否为NaN(Not a Number)。但是,在某些情况下,它的行为可能与预期不同,这是因为在幕后进行了一些类型转换。
解决方法:可以使用parseInt()函数将值转换为整数,以确保正确的结果。
以下是解决方法的代码示例:
var getal1 = parseInt(document.getElementById('getal1').value); if (isNaN(getal1)) { console.log("Not a Number"); } else { console.log("Number"); }
希望这个解决方法能够帮助到你!