d_number

Math 对象的扩展

ES6 将全局方法parseInt()和parseFloat(),移植到Number对象上面,不是math对象

	var str="0abcde0123";
	// ES5的写法
	parseInt('12.34') // 12
	parseFloat('123.45.67') // 123.45

	// ES6的写法
	Number.parseInt('12.34') // 12
	Number.parseFloat('123.45.67') // 123.45

Number.isInteger()用来判断一个数值是否为整数

	var str="0abcde0123";
	console.log(Number.isInteger(25)) // true
	console.log(Number.isInteger(25.0)) // true  //把25.0看做25
	console.log(Number.isInteger(25.1)) // false
	console.log(Number.isInteger("a")) // false //非数值时 返回 false

Math.trunc方法用于去除一个数的小数部分,返回整数部分。

	console.log(Math.trunc(4.9));  //4     去除小数点后面的   返回number类型
	console.log(Math.trunc(-4.9));  //-4    能认出符号
	//console.log(Math.trunc(--4.9));  //两个负号就报错
	console.log(Math.trunc("-2.5"));//-2
	console.log(Math.trunc("-2.a5")); //NaN   不能识别非字符串 
	console.log(Math.trunc(true)); //  trunc 把非数子的转数字 ,然后去除小数部分


	console.log(Number.parseInt(4.9)); //4   返回number类型
	console.log(Number.parseInt(-4.9)); //-4
	console.log(Number.parseInt("-2.5")); //-2
	console.log(Number.parseInt("-2.a5")); //-2  遇到非数字自动抛弃
	console.log(Number.parseInt("-2a")); //-2	

Math.sign方法用来判断一个数到底是正数、负数、还是零。对于非数值,会先将其转换为数值。

	console.log(Math.sign(-5));  //-1 参数为负数,返回-1
	console.log(Math.sign(5));  //+1 参数为正数,返回+1
	console.log(Math.sign(0));  //0 参数为 0,返回0
	console.log(Math.sign(-0));//-0  参数为-0,返回-0
	console.log(Math.sign(NaN)); //NaN  其他值,返回NaN	

js 数字的计算并不准确

猜你喜欢

转载自www.cnblogs.com/myniu/p/11762138.html