天天看点

【JavaScript】数值转换为数值

   number():

       将一个数值转换为数值

       如果是一个布尔值,要么被转换为1,要么被转换为0

       如果是数字,那么该是多少,就是多少

       如果是null值,会被转换为0

       如果是undefined,会被转换为NaN

       字符串转换为数字:

       如果字符串里面只包含数字,那么只会被转换为十进制 

       如果字符串为空,将会被转换为0

       如果有字母,那么就将会被转换为NaN

       如果字符串是八进制,那么会忽略前面的0,但是如果是16进制的话,会转换为相应的十进制数

parseInt():

       该函数会更多的看是否有数字,如果有就会被转换为数字;如果字符串为空,将会被转换为NaN。还有一点就是,如果是3.14,那么会被转换为3。

       事实上,我们parseInt()函数提供了第二个参数,指定转换为几进制。

parseFloat():

       该函数只能解析10进制,所以没有第二个参数。会将带有小数点的字符串转换为小数

在JavaScript中,数值转换一般有三种方式:

一、Number(param)函数:param可以用于任何数据类型

1.1 param是Boolean值,true和false分别转换为1和0;

1.2 param是数值,只是简单的传入和返回

1.3 param是null和undefined,分别返回0和NaN

toString() 方法:以​​字符串​​返回数组,所有数字方法可用于任意类型的数字。

var x = 11;
x.toString();            // 从变量 x 返回 11
(11).toString();        // 从文本 11 返回 11
(10 + 1).toString();   // 从表达式 10 + 1 返回 11      

![](<> "点击并拖拽以移动")

Number() :返回数字,由其参数转换而来。 可用于把JS变量转换为数值:

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      

![](<> "点击并拖拽以移动")

var num1 = parseInt("10", 2); //2 (按二进制解析)
var num2 = parseInt("10", 8); //8 (按八进制解析)
var num3 = parseInt("10", 10); //10 (按十进制解析)
var num4 = parseInt("10", 16); //16 (按十六进制解析)