整数和浮点数
JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。所以,1
与1.0
是相同的,是同一个数。
console.log(1 === 1.0) //输出true
由于浮点数不是精确的值,所以涉及小数的比较和运算要特别小心。
console.log(0.1 + 0.2 === 0.3) // false
console.log(0.3 / 0.1) // 2.9999999999999996
console.log((0.3 - 0.2) === (0.2 - 0.1)) // false
字符串转整数、浮点数
let a = "3.6"
let b = parseInt(a) //转换成整数3
console.log(b)
let c = parseFloat(a) //转换成浮点数3.6
console.log(c)
浮点数四舍五入
//四舍五入取整
Math.round(0.1) // 0
Math.round(0.5) // 1
Math.round(0.6) // 1
//四舍五入,保留小数
let a = 5.12356
let b = a.toFixed(2)
console.log(b)
浮点数向下取整和向上取整
let total = 125 //总记录数
let limit = 20 //每页记录数
//计算页数,向上取整
let pages = Math.ceil(total / limit)
console.log(pages)
//获取整数部分
function ToInteger(x) {
x = Number(x);
return x < 0 ? Math.ceil(x) : Math.floor(x);
}
ToInteger(3.2) // 3
ToInteger(3.5) // 3
ToInteger(3.8) // 3
ToInteger(-3.2) // -3
ToInteger(-3.5) // -3
ToInteger(-3.8) // -3
生成随机数
Math.random()
返回0到1之间的一个伪随机数,可能等于0,但是一定小于1。
// 任意范围的随机整数生成函数如下。
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
getRandomInt(1, 6) // 5