写点什么

【JavaScript】数值转换为数值

作者:黎燃
  • 2022 年 5 月 16 日
  • 本文字数:1194 字

    阅读完需:约 4 分钟

   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 (按十六进制解析)
复制代码


点击并拖拽以移动


发布于: 刚刚阅读数: 2
用户头像

黎燃

关注

前端工程师 2022.05.06 加入

专注学习分享前端知识。

评论

发布
暂无评论
【JavaScript】数值转换为数值_5月月更_黎燃_InfoQ写作社区