如何找到数字为float
或integer
? javascript
1.25 --> float 1 --> integer 0 --> integer 0.25 --> float
您可使用一个简单的正则表达式: php
function isInt(value) { var er = /^-?[0-9]+$/; return er.test(value); }
或者您也能够根据须要使用如下功能。 它们由PHPJS Project开发。 java
is_int()
=>检查变量类型是否为整数,而且其内容是否为整数 git
is_float()
=>检查变量类型是否为float以及其内容是否为float 正则表达式
ctype_digit()
=>检查变量类型是否为字符串,而且其内容是否只有十进制数字 spa
更新1 设计
如今它也检查负数,感谢@ChrisBartley评论 ! code
确实没必要这么复杂。 整数的parseFloat()和parseInt()等效项的数值将相同。 所以,您能够这样作: ip
function isInt(value){ return (parseFloat(value) == parseInt(value)) && !isNaN(value); }
而后 开发
if (isInt(x)) // do work
这也将容许进行字符串检查,所以并不严格。 若是要一个强类型的解决方案(又名,不能与字符串一块儿使用):
function is_int(value){ return !isNaN(parseInt(value * 1) }
function isInt(n) { return n != "" && !isNaN(n) && Math.round(n) == n; } function isFloat(n){ return n != "" && !isNaN(n) && Math.round(n) != n; }
适用于全部状况。
在Java脚本中,全部数字在internally 64 bit floating point
都是internally 64 bit floating point
,与Java中的double相同。 javascript中没有不一样的类型,全部类型均由number
表示。 所以,您将没法进行检查instanceof
。 可是,您可使用上面给出的解决方案来肯定它是否为分数。 Java脚本的设计人员认为,使用单一类型的脚本能够避免大量的类型转换错误。
带有零小数部分(例如1.0、12.00、0.0)的任何Float数字都隐式转换为Integer,所以没法检查它们是否为Float。