目录
number.toLocaleString/number.toString
以下介绍的都是一些本人使用过和数值转换相关的方法以及Math上常用的方法,用到新的会一直更新,然后注意大小写,其中Number、Math代表系统定义好的在Number、Math上的静态函数方法,是不能替换的(注意我们在编程时,尽量不要用浮点数,因为计算机基于IEEE754数值的浮点计算可能会产生误差,例如0.1+0.2=0.30000000000000004,0.14*100=14.000000000000002)
Number(object)
将object转换为数值。
当object为数值时,转换为10进制数(数值前接0b表示2进制数,接0表示8进制数,接0x表示16进制数)
当object是Boolean值时,返回0,1。
当object为null返回0。
当object为undefined返回NaN。
当object为字符串:
- 空串时返回0;
- 正常数值形式的字符串转换为数字,只区分16进制和2进制的格式,转换为10进制大小(包括正负号的,前导0会忽略,正常理解的数值即可,注意数值后可以写一个.后面不跟数字,系统会理解为是小数点,解释时去掉,但如果点之前加上空格,系统会理解是调用函数,后面不接东西会报错,写2个点也是一样,第一个点理解为小数点第二个会理解为掉用函数,数值加括号后连接的点,也会理解为调用函数)。
- 其他形式返回NaN。
当object为对象时,调用对象的valueOf()方法,然后依照前面规则转换,如果返回值时NaN,则再调用对象的toString()方法然后再次依照前面规则转换返回值。toString()方法介绍见JavaScript中常用函数方法(字符串篇)_AIWWY的博客-CSDN博客_js字符串函数
number对象调用的方法
这些方法是定义在Number.prototype上的方法,可以在控制台中直接通过Number.prototype打印查看,这些方法在调用时,实际上隐式的new了一个Number的对象,该对象继承了Number.prototype上的方法,然后在通过对象调用的方法,将方法的返回结果传出来。
number.toFixed(x)
返回number小数点后保留x位的字符串结果。
number.toLocaleString/number.toString
JavaScript中常用函数方法(字符串篇)_AIWWY的博客-CSDN博客_js字符串函数
Number上定义好的静态方法
Number.isFinite(obj)
判断obj是否为有限的数值,会先隐式的调用Number(obj)将其转换数值型,然后判断,当obj为NaN,Infinity时返回false,其它为true。
Number.isInteger(obj)
判断obj是否为整数,会先隐式的调用Number(obj)将其转换数值型,然后判断,只有整数才返回true,其它为false。
Number.isNaN(obj)
判断obj是否为NaN,会先隐式的调用Number(obj)将其转换数值型,然后判断,只有NaN才返回true,其它为false。
Math上定义好的静态方法
注意以下方法中x为非数值或NaN都会返回NaN。
Math.random()
返回介于 0(包含) ~ 1(不包含) 之间的一个随机数。
Math.round(x)
返回x四舍五入的整数数值(只根据x小数点后第一位的进行舍入)。
Math.floor(x)
返回x向下取整后最接近的整数值(注意-1.5,返回是-2)
Math.ceil(x)
返回x向上取整后最接近的整数值(注意-1.5,返回是-1)
Math.trunc(x)
返回x的整数部分。
Math.sign(x)
x为正数返回1,x为负数返回0,x为+0返回+0,x为-0返回-0。
Math.abs(x)
返回x的绝对值数值。
Math.sqrt(x)
返回x的平方根数值,负数返回NaN。
Math.max(x1,x2,...,xn)
返回x1,x2,...,xn中的最大值,会先隐式的调用Number()将每个参数转换为数值类型.
当无参数时,返回-Infinity;
当参数中,转换后有NaN,则返回NaN。
Math.min(x1,x2,...,xn)
返回x1,x2,...,xn中的最小值,会先隐式的调用Number()将每个参数转换为数值类型.
当无参数时,返回Infinity;
当参数中,转换后有NaN,则返回NaN。
与数值转换相关的方法
parseInt(numberStr,x)
返回x进制下的numberStr转换为10进制后的整数结果。搭配toString(number)方法可以实现任意进制数之间的转换。
tostring方法链接:JavaScript中常用函数方法(字符串篇)_AIWWY的博客-CSDN博客_js字符串函数
numberStr只能为字符串或数字,其他形式都会返回NaN,当numberStr为字符串时,函数是忽略字符串前面的空格的,直至找到第一个非空格字符,只要不为负号和数字就返回NaN,找到第一个整数,然后返回x进制下的该整数转换为10进制后的整数结果。注意numberStr可以是二、八、十六等进制的写法,它会先转换为10进制的大小,再执行该函数。
当不传入x时,返回默认10进制下的numberStr转换为10进制后的整数结果。这时numberStr可以是二、八、十六进制写法的字符串或数字格式。
当传入x时,返回x进制下的numberStr转换为10进制后的整数结果。这时numberStr如果是二、八、十六等进制的写法,只能写成数字格式,否则返回0。
parseFloat(numberStr)
返回numberStr的数字结果。
numberStr只能为字符串或数字,其他形式返回都为NaN,该函数是忽略字符串前面的空格的,直至找到第一个非空格字符,只要不为负号和数字就返回NaN。找到第一个浮点数没有就找整数,然后返回该浮点数或整数。numberStr只有为数值的时候才能识别二、八、十六进制的写法。