我已经创建了一个代码,在那里我可以尝试javascript的条件,代码如下:用户输入一个十进制数字,一个警告框会说它是一个十进制数字。如果它不是十进制数字,会弹出一个警告框,说它不是十进制数。但是,问题是我不知道在我的IF条件语句中放入什么来识别它的小数。
这是我的代码:
var a = document.getElementById("txt1").value;
if (a == ?){
alert("It is a decimal number!");
} else {
alert("It is not a decimal number!");
}
我希望有人可以帮助我。一个初学者。谢谢!
答案 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!");
}