Javascript 接受提示中的整数,而不是小数

Javascript 接受提示中的整数,而不是小数,javascript,Javascript,我的代码运行良好,但我不希望它也接受小数 var choice = parseInt(prompt("Please enter 1 , 2 or 3:")); if (choice == 1) { var choice = 1 } else if (choice == 2) { var choice = 2 } else if (choice == 3) { var choice = 3 } else if (choice > 3) { var choi

我的代码运行良好,但我不希望它也接受小数

var choice = parseInt(prompt("Please enter 1 , 2 or 3:"));
if (choice == 1) {
  var choice = 1
} else if (choice == 2) {
  var choice = 2
} else if (choice == 3) {
  var choice = 3
} else if (choice > 3) {
  var choice = 3
  document.write("<p>Please enter 1 , 2 , or 3:</p>")
} else if (choice < 1) {
  var choice = 3
  document.write("<p>Please enter 1 , 2 , or 3:</p>")
}
var choice=parseInt(提示(“请输入1、2或3:”);
如果(选项==1){
风险值选择=1
}else if(选项==2){
风险值选择=2
}else if(选项==3){
风险值选择=3
}否则如果(选项>3){
风险值选择=3
文档。写入(“请输入1、2或3:

”) }else if(选项<1){ 风险值选择=3 文档。写入(“请输入1、2或3:

”) }
提示符只接受两个属性:消息和默认值。 也

请注意,结果是一个字符串。这意味着您有时应该强制转换用户给定的值。例如,如果他们的答案应该是数字,则应将该值强制转换为数字。参考:


我认为我们不能提示只接受数字或更具体的实数作为输入。

您可以使用
!数字.isInteger(+选项)
+

此外,您的代码似乎工作正常,但它只能防止错误输入一次。例如,如果您尝试键入
0
两次,它将接受它。相反,您需要某种类型的。用于此操作的典型循环是。我在下面创建了一个示例

let choice=0
做{
choice=prompt('请输入1、2或3:')
}while(choice>3 | | choice<1 | |!Number.isInteger(+choice))
常量intChoice=parseInt(选项)

console.log(intChoice)
这是否回答了您的问题?除此之外,变量只声明一次,您不需要在每次赋值之前使用
var
。和
document.write
不是为了操纵DOM,不要使用它。@Teemu好的,谢谢你,正如Pranjali Patil在回答中所说的,你不能影响
提示符的输入,你只能编辑输出结果。如果要过滤输入,需要一个真正的HTML元素,如