0
点赞
收藏
分享

微信扫一扫

【JavaScript】数值转换为数值

Ad大成 2022-02-26 阅读 56

  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

parseInt()转换规则

由于 Number()函数在转换字符串时比较复杂而且不够合理,因此在处理整数的时候更常用的是
parseInt()函数。parseInt()函数在转换字符串时,更多的是看其是否符合数值模式。它会忽略字
符串前面的空格,直至找到第一个非空格字符。如果第一个字符不是数字字符,parseInt()
就会返回 NaN;也就是说,用 parseInt()转换空字符串会返回 NaN(Number()对空字符返回 0)。如
果第一个字符是数字字符,parseInt()会继续解析第二个字符,直到解析完所有后续字符或者遇到了
一个非数字字符。例如,"1234blue"会被转换为 1234,因为"blue"会被完全忽略。类似地,"22.5"
会被转换为 22,因为小数点并不是有效的数字字符。

指定基数会影响到转换的输出结果。例如:

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

相关推荐

0 条评论