JavaScript中常见的8个数值方法

1.toString()方法
以字符串返回数值。所有数字方法可用于任意类型的数字(字面量、变量或表达式):
var x = 123;
x.toString();            // 从变量 x 返回 123
(123).toString();        // 从文本 123 返回 123
(100 + 23).toString();   // 从表达式 100 + 23 返回 123
toString()表示返回的10进制数据;
toString(16)表示返回的16进制数据;
toString(8)表示返回的8进制数据;
toString(2)表示返回的2进制数据;
 
2.toExponential()方法
返回字符串值,它包含已被四舍五入并使用指数计数法的数字。参数定义小数点后的字符数:
var x = 9.656;
x.toExponential(2);     // 返回 9.66e+0
x.toExponential(4);     // 返回 9.6560e+0
x.toExponential(6);     // 返回 9.656000e+0
参数是可选的。如果没有设置它,JavaScript不会对数字进行舍入。
 
3.toFixed()方法
返回字符串值,它包含了指定位数小数的数字:
var x = 9.656;
x.toFixed(0);           // 返回 10
x.toFixed(2);           // 返回 9.66
x.toFixed(4);           // 返回 9.6560
x.toFixed(6);           // 返回 9.656000
toFixed(2)非常适合处理金钱。
 
4.toPrecision()方法
返回字符串值,它包含了指定长度的数字:
var x = 9.656;
x.toPrecision();        // 返回 9.656
x.toPrecision(2);       // 返回 9.7
x.toPrecision(4);       // 返回 9.656
x.toPrecision(6);       // 返回 9.65600
 
5.valueOf()方法
以数值返回数值:
var x = 123;
x.valueOf();            // 从变量 x 返回 123
(123).valueOf();        // 从文本 123 返回 123
(100 + 23).valueOf();   // 从表达式 100 + 23 返回 123
在JavaScript中,数字可以是原始值(typeof = number)或对象(typeof = object)。
在JavaScript内部使用 valueOf() 方法可将Number对象转换为原始值。
没有理由在代码中使用它。
所有JavaScript数据类型都有valueOf()和toString()方法。
 
6.把变量转换为数值
(1)Number()方法
①Number()可用于把JavaScript变量转换为数值:
x = true;
Number(x);        // 返回 1
x = false;     
Number(x);        // 返回 0
x = new Date();
Number(x);        // 返回 1404568027739
x = "10"
Number(x);        // 返回 10
x = "10 20"
Number(x);        // 返回 NaN
如果无法转换数字,则返回 NaN。
②用于日期的Number()方法
Number() 还可以把日期转换为数字:
Number(new Date("2019-04-15"));    // 返回 1506729600000
上面的Number()方法返回1970年1月1日至今的毫秒数。
(2)parseInt()方法
解析一段字符串并返回数值。允许空格。只返回首个数字:
parseInt("10");         // 返回 10
parseInt("10.33");      // 返回 10
parseInt("10 20 30");   // 返回 10
parseInt("10 years");   // 返回 10
parseInt("years 10");   // 返回 NaN
如果无法转换为数值,则返回 NaN (Not a Number)。
(3)parseFloat()方法
解析一段字符串并返回数值。允许空格。只返回首个数字:
parseFloat("10");        // 返回 10
parseFloat("10.33");     // 返回 10.33
parseFloat("10 20 30");  // 返回 10
parseFloat("10 years");  // 返回 10
parseFloat("years 10");  // 返回 NaN
如果无法转换为数值,则返回 NaN (Not a Number)。
 
7.数值属性
(1)MAX_VALUE返回JavaScript中可能的最大数字。
var x = Number.MAX_VALUE;
(2)MIN_VALUE返回JavaScript中可能的最小数字。
var x = Number.MIN_VALUE;
(3)POSITIVE_INFINITY表示无穷大(溢出返回)。
var x = Number.POSITIVE_INFINITY;
溢出时返回POSITIVE_INFINITY
(4)NEGATIVE_INFINITY表示负的无穷大(溢出返回)。
var x = Number.NEGATIVE_INFINITY;
溢出时返回NEGATIVE_INFINITY:
(5)JavaScript NaN - 非数字
var x = Number.NaN;
NaN属于JavaScript保留字,指示数字并非合法的数字。
尝试使用非数字字符串进行算术运算将导致NaN(非数字。
 
8.数字属性不可用于变量
数字属性属于名number的JavaScript数字对象包装器。
这些属性只能作为Number.MAX_VALUE访问。
使用myNumber.MAX_VALUE,其中myNumber是变量、表达式或值,将返回 undefined:
var x = 6;
var y = x.MAX_VALUE;    // y 成为 undefined