#yyds干货盘点#JavaScript数值转换-Number方法 举报

Posted 李游LEO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点#JavaScript数值转换-Number方法 举报相关的知识,希望对你有一定的参考价值。


#yyds干货盘点#JavaScript数值转换-Number方法

javascript中,有3个公共函数可以非数值转化为数字类型,分别是:Number()、parseInt()和parseFloat()。其中第一个函数Number()方法可以把在JavaScript中的任何数据类型转化成Number数字类型,而另外两个函数则是专门的把字符串转换成数值。不过这个三个函数分别有着各自的作用,即使同样的输入也会得到不同的结果。

Number()函数的转化规则如下:

1.如果只是单纯的数字类型,那么最后的结果也是返回原数字,只是简单的传入和返回。

2.如果是undefined类型传入,则返回NaN。

3.如果是null值,则返回数字0。

4.如果传入的Boolean值,那么如果是true则返回1,如果是false则返回0。

5.如果是传入的是字符串数据类型,则又遵守以下规则:

    1.说如果字符串中只包含了数字,即使携带正号或负号,那么会将其转化成十进制数值,例如字符串“2”则转化成数字2,“213”则转化成数字213,如果前方带0则会忽略0,例如:“0123”,则转化成数字123。

    2.如果字符串包含了有效的十六进制格式的内容,例如“0xa”,则将其转化为相同大小的十进制整数值,例如:

#yyds干货盘点#JavaScript数值转换-Number方法

    3.如果传入为空字符串(双引号或者单引号,中间不包含任何内容),则转化为数字0。

    4.如果传入的字符串为浮点格式数字,例如“1.2”,那么将其转化为对应的数字浮点数值(同样,也会忽略前导零)。

    5.除以上四点的内容之外的字符,都讲其转化为NaN。

6. 如果传入的内容为对象的话,则优先调用对象的valueOf()方法,然后依照上述规则转化成返回的值。如果转化的结果为NaN的话,那么则调用对象的toString()方法,在依次按照前面的规则转换并且返回字符串值。

虽然上述规则看似复杂,但是实际操作时Number()方法是特别实用的,例如:

#yyds干货盘点#JavaScript数值转换-Number方法

我们可以看到字符串“Leo”因为其中不包含任何有意义的数字值会被转化为NaN。空字符串会转化成数字0。字符串“000123”被转化成数字123。布尔值则会根据规则转化成0或1。而十六进制也会转化为十进制。

以上是关于#yyds干货盘点#JavaScript数值转换-Number方法 举报的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#JavaScript - 浮点数值

#yyds干货盘点#JavaScript 常用类型转换

#yyds干货盘点#JS两个大数相加

#yyds干货盘点# Java入门王者万字笔记(下),建议收藏!

Flutter组件ValueListenableBuilder使用#yyds干货盘点#

#yyds干货盘点# LeetCode程序员面试金典:最大数值