如何在javascript中识别输入的十进制

时间:2014-03-02 11:28:38

标签: javascript

我已经创建了一个代码,在那里我可以尝试javascript的条件,代码如下:用户输入一个十进制数字,一个警告框会说它是一个十进制数字。如果它不是十进制数字,会弹出一个警告框,说它不是十进制数。但是,问题是我不知道在我的IF条件语句中放入什么来识别它的小数。

这是我的代码:

 var a = document.getElementById("txt1").value;

 if (a == ?){
    alert("It is a decimal number!");
 } else {
    alert("It is not a decimal number!");
 } 

我希望有人可以帮助我。一个初学者。谢谢!

5 个答案:

答案 0 :(得分:1)

优雅的方法是使用正则表达式,但有时正则表达式可以 挫败新手程序员。检查此示例。我希望它对你有所帮助。

var a = document.getElementById("txt1").value;

if (!isNaN(parseFloat(a)) && a.toString().indexOf(".") == -1){
    alert("It is a decimal number!");
} else {
    alert("It is not a decimal number!");
}

致以最诚挚的问候,

答案 1 :(得分:0)

这是一个例子 -

var a = prompt("Type in any number");

var b = parseInt(a);

if(a !== b) {
    alert("This is a decimal number!");
}
else {
    alert("This is an integer");
}

答案 2 :(得分:0)

使用正则表达式。

var value = prompt('Enter decimal here senpai', '0.0');

if (/^\d*\.?\d*$/.test(value)) {
    console.log('I\'m a decimal. Nya~');
}

答案 3 :(得分:-1)

     function decimal_only(e) {

         var charCode = (e.which) ? e.which : window.event.keyCode
         if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
             return false;
         }

         if (charCode == 46) { //Now Check The Decimal only allow 1 decimal
             if (e.value.indexOf('.') > -1) {
                 return false;
             }
         }
         return true;
     } 

答案 4 :(得分:-2)

您可以使用简单的检查

if(a != Math.floor(a))
{
  alert("It is a decimal number!");
} else {
        alert("It is not a decimal number!");
}

if(a - Math.floor(a) != 0) //then its with decimal
{
    alert("It is a decimal number!");
} else {
    alert("It is not a decimal number!");
}