function isFloat(n) { return n === +n && n !== (n|0); } function isInteger(n) { // 仅能检查32位的数字 return n === +n && n === (n|0); }
要点:javascript
n === +n
用于检测是否numericn|0
用于roundOP
操做符(即|
),目前仅支持32位,故超过32位的数字没法经过isInteger
检测灵感来源java
function floorFloat(num, precision) { return +(Math.floor(+(num + 'e' + (precision))) + 'e' + -(precision)); } function ceilFloat(num, precision) { return +(Math.ceil(+(num + 'e' + (precision))) + 'e' + -(precision)); }
灵感来源code