数据类型
Math.floor
向下舍入:3.1 变成 3,-1.1 变成 -2。
Math.ceil
向上舍入:3.1 变成 4,-1.1 变成 -1。
Math.round
向最近的整数舍入:3.1 变成 3,3.6 变成 4,中间值 3.5 变成 4。
number.epsilon 表示最小的精度 如果两个数的差值小于epsilon就相等
二进制是0o开头,八进制是ob开头
number.isFinite检测一个数值是否为有限数
number.isInteger判断一个数是否为整数
math。sign判断一个数到底为正数 ,负数还是零 。如果为负数返回-1
toFixed(n)
将数字舍入到小数点后 n 位,并以字符串形式返回结果。上或向下舍入到最接近的值,类似于 Math.round:
请注意,toFixed 总是返回一个字符串。它确保小数点后有 2 位数字
使用加号 + 或 Number() 的数字转换是严格的。
如果一个值不完全是一个数字,就会失败:唯一的例外是字符串开头或结尾的空格,因为它们会被忽略。
这就是 parseInt 和 parseFloat 的作用。
它们可以从字符串中“读取”数字,直到无法读取为止。如果发生 error,则返回收集到的数字。函数 parseInt 返回一个整数,而 parseFloat 返回一个浮点数:
某些情况下,parseInt/parseFloat 会返回 NaN。当没有数字可读时会发生这种情况:第一个是符号停止了读取
isNaN(value) 将其参数转换为数字,然后测试它是否为 NaN
但是我们需要这个函数吗?我们不能只使用 === NaN 比较吗?很不幸,这不行。值 “NaN” 是独一无二的,它不等于任何东西,包括它自身:
isFinite(value) 将其参数转换为数字,如果是常规数字而不是 NaN/Infinity/-Infinity,则返回 true 有时 isFinite 被用于验证字符串值是否为常规数字:在所有数字函数中,包括 isFinite,空字符串或仅有空格的字符串均被视为 0。
JavaScript 有一个内建的 Math 对象,它包含了一个小型的数学函数和常量库。
Math.random()
返回一个从 0 到 1 的随机数(不包括 1)。
对于常规数字检测:
总结
isNaN(value) 将其参数转换为数字,然后检测它是否为 NaN
isFinite(value) 将其参数转换为数字,如果它是常规数字,则返回 true,而不是 NaN/Infinity/-Infinity
要将 12pt 和 100px 之类的值转换为数字:
使用 parseInt/parseFloat 进行“软”转换,它从字符串中读取数字,然后返回在发生 error 前可以读取到的值。
小数:
使用 Math.floor,Math.ceil,Math.trunc,Math.round 或 num.toFixed(precision) 进行舍入。
请确保记住使用小数时会损失精度。
更多数学函数:
需要时请查看 Math 对象。这个库很小,但是可以满足基本的需求。