如何发现一个数字是 "浮动 "还是 "整数"?
1.25 --> float 1 --> integer 0 --> integer 0.25 --> float
试着用这些函数来测试一个值是否是一个没有小数部分的数字原值,并且在可以表示为精确整数的大小限制之内。
function isFloat(n) { return n === +n && n !== (n|0); } function isInteger(n) { return n === +n && n === (n|0); }
正如其他人提到的,你在JS中只有双数。那么你如何定义一个数字是一个整数呢?只要检查四舍五入后的数字是否等于自己就可以了。
function isInteger(f) { return typeof(f)==="number" && Math.round(f) == f; } function isFloat(f) { return typeof(f)==="number" && !isInteger(f); }
这真的取决于你想达到什么目的。如果你想 "模仿 "强类型语言,我建议你不要尝试。正如其他人提到的,所有的数字都有相同的表示方法(相同的类型)。
使用像Claudiu提供的东西。
isInteger( 1.0 ) -> true
isInteger( 1.0 )
这在常识上看起来很好,但在像C语言中,你会得到false。
false
试着用这些函数来测试一个值是否是一个没有小数部分的数字原值,并且在可以表示为精确整数的大小限制之内。
正如其他人提到的,你在JS中只有双数。那么你如何定义一个数字是一个整数呢?只要检查四舍五入后的数字是否等于自己就可以了。
这真的取决于你想达到什么目的。如果你想 "模仿 "强类型语言,我建议你不要尝试。正如其他人提到的,所有的数字都有相同的表示方法(相同的类型)。
使用像Claudiu提供的东西。
isInteger( 1.0 )
-> true这在常识上看起来很好,但在像C语言中,你会得到
false
。