您好,我现在对JavaScript中的数据类型"number“和数据类型"Integer”有点困惑。谁能解释一下,举个例子。
发布于 2021-08-05 19:56:54
在js中,你有不同类型的变量(数字、字符串、对象等)。但是没有整数或浮点数据类型(不像c或c++)。这意味着所有的整数和浮点数都是typeof number
let integer = 10;
let float = 10.5;
console.log(typeof integer); /* number */
console.log(typeof float); /* number */
但是如果你想检查number是一个整数还是一个浮点数,你可以使用Number.isInteger()方法来检查一个变量是否为整数:
let integer = 10;
let float = 10.5;
console.log(Number.isInteger(integer)); /* True */
console.log(Number.isInteger(float)); /* False */
发布于 2021-08-05 20:06:17
因为所有的整数都是数字,但并非所有的数字都是整数。JavaScript has only floating point numbers.整数是没有小数值的整数(小数点右侧的零)。来自Mozilla网站的Number.isInteger() JavaScript函数的一个示例用法应该会有所帮助:
Number.isInteger(0); // true
Number.isInteger(1); // true
Number.isInteger(-100000); // true
Number.isInteger(99999999999999999999999); // true
Number.isInteger(0.1); // false
Number.isInteger(Math.PI); // false
Number.isInteger(NaN); // false
Number.isInteger(Infinity); // false
Number.isInteger(-Infinity); // false
Number.isInteger('10'); // false
Number.isInteger(true); // false
Number.isInteger(false); // false
Number.isInteger([1]); // false
Number.isInteger(5.0); // true
Number.isInteger(5.000000000000001); // false
Number.isInteger(5.0000000000000001); // true请注意,最后一个示例将"5.0000000000000001“标识为整数,这可能是因为它超出了解析器的精度。
使用Math.floor()函数将浮点数的小数值截断为整数。
https://stackoverflow.com/questions/68672641
复制相似问题