所以,这个程序需要检查用户输入小数的时间,它应该打印出来"不是有效的猜测,再试一次。"检查用户是否在IF语句中输入了小数的好方法是什么?
我的小提琴: http://jsfiddle.net/6qkdP/925/
jQuery代码:
$(document).ready(function () {
$("#chat-box").append('<div class="guess"><br>Guess a number between 1-100</div>');
});
var number = Math.round((Math.random() * 100)) % 100 + 1;
document.getElementById('number').addEventListener('keydown', function (event) {
if (event.which === 13 || event.keyCode === 13) {
var guess = this.value;
if (guess == number) {
$("#chat-box").append('<div class="human">' + guess + '</div>');
$("#chat-box").append('<div class="comp">You guessed it!</div>');
} else if (isNaN(guess)) {
$("#chat-box").append('<div class="human">' + guess + '</div>')
$("#chat-box").append('<div class="comp">' + guess + ' is not a valid guess. Try again.</div>');
} else if (guess == 0) {
$("#chat-box").append('<div class="human">' + guess + '</div>')
$("#chat-box").append('<div class="comp">' + guess + ' is not a valid guess. Try again.</div>');
} **else if (parseInt(guess))** {
$("#chat-box").append('<div class="human">' + guess + '</div>')
$("#chat-box").append('<div class="comp">' + guess + ' is not a valid guess. Try again.</div>');
} else if (guess < number) {
$("#chat-box").append('<div class="human">' + guess + "</div>")
$("#chat-box").append('<div class="comp">' + guess + " is too small, guess again.</div>");
} else if (guess > number) {
$("#chat-box").append('<div class="human">' + guess + "</div>")
$("#chat-box").append('<div class="comp">' + guess + " is too big, guess again.</div>");
}
}
});
答案 0 :(得分:2)
使用此功能。
if(guess.split('.').length>1){
$("#chat-box").append('<div class="human">' + guess + '</div>')
$("#chat-box").append('<div class="comp">' + guess + ' is not a valid guess. Try again.</div>');
}
答案 1 :(得分:0)
可能的解决方案之一可能是将RegExp用于这些目的,类似:
var isValid = /^([0-9]){1,2}(\.){1}([0-9]){2}$/.test(inputField.value);
答案 2 :(得分:-1)
为了检查他们是否输入了非整数,您需要具有可以接收的数字类型。如果您将输入加倍,则可以使用:
while(input <0 || input> 10 ||(input-(int)input)> 0)查看是否输入了浮点值。
虽然这样做似乎有点愚蠢。