【问题标题】:Issue with input number when number has .0数字为 .0 时输入数字的问题
【发布时间】:2017-08-03 08:59:00
【问题描述】:

尝试验证输入类型编号时出现问题。

我只想接受整数。 不想接受浮动(它几乎可以工作)。

遇到1.03.0 等号码的问题,但1.1 没有问题 在执行_.toNumber 时,它会将1.0 更改为1,但我仍然想知道用户输入了1.0,因为这是一个问题。有什么想法吗?

【问题讨论】:

  • 1.0 仍然是一个浮点数,对吧?但你说,你只想接受整数?
  • 存储初始字符串 (1.0) 以及演员表数值
  • 我的输入应该只接受整数,但是当用户使用, 时它会被接受(对于浏览器,这不是浮动指示器。

标签: javascript input floating-point numbers integer


【解决方案1】:

试试这个

var number = 1.0;
if(number % 1 == 0){
    //validated code
}
else{
   //invalidate
}

function isInt(n) {
  return n % 1 === 0;
}

如果你不知道参数是一个整数,那么你需要两个测试

function isInt(n){
   return Number(n) === n && n % 1 === 0;
}  

【讨论】:

  • 几乎但想接受"1""3"但不接受"1.0"
  • 所以,只需获取数字并转换为字符串并搜索字符串包括 .(decimal) number = n.toString(); if(!number.includes(".")){ //codes }
  • 你能不能看看下面的链接,你可能会有一个想法。 Link may Help you
  • 好的,我用正则表达式做到了。模式^([0-9])+$
  • 但这不是最佳选择,因为它接受 012 但不应该
猜你喜欢
  • 2019-08-02
  • 2021-04-18
  • 2016-06-30
  • 2020-07-17
  • 2021-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多