JavaScript数值转换总结

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

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

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

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

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

1.4  param是字符串,遵循下列规则:

1.4.1  如果字符串中只包含数字,则转换为十进制,前导0被忽略;

1.4.2  如果字符串中包含有效的浮点数格式,则返回对应的浮点数值,前导0被忽略;

1.4.3  如果字符串包含有效的十六进制,则返回等大的十进制数值

1.4.4  如果字符串为空,则返回0

1.4.5  如果字符串中包含除上述格式外的字符,则返回NaN

1.5  param是对象,则调用valueOf()方法,依照前面的规则转换返回字符串值,若返回NaN,则调用toString()方法,再次依照前面的规则转换返回字符串值。

1.6  示例:

<span style="font-family:Microsoft YaHei;font-size:18px;">var num1 = Number("hello");  //NaN
var num2 = Number("");  //0
var num3 = Number("00022");  //22
var num4 = Number(true);  //1</span>

二、parseInt(param):把字符串转换成整数,param是字符串类型。

parseInt()忽略字符串前面的空格,直到找到第一个非空格字符S;若S不是数字或者负号,则返回NaN(即parseInt()对空字符返回NaN,注意Number()对空返回0),若S是数字,parseInt()会继续解析下一个字符,直到解析完所有字符或者遇到了一个非数字字符。parseInt()支持对八进制、十六进制的解析

<span style="font-family:Microsoft YaHei;font-size:18px;">var num1 = parseInt("1234blue");  //1234
var num2 = parseInt("");  //NaN
var num3 = parseInt("22.5");  //22
var num4 = parseInt("070");  //八进制,转换为十进制的56</span>

三、parseIFloat(param):把字符串转换成浮点数,param是字符串类型。

与parseInt类似,parseFloat()从第一个字符开始解析,直到解析完所有字符或者遇到了一个非浮点数字符。第一个小数点有效,但是第二个则无效,且该函数只能解析十进制数,因为它始终会忽略前导0.

<span style="font-family:Microsoft YaHei;font-size:18px;">var num1 = parseFloat("1234blue"); // 1234
var num2 = parseFloat("0xf6"); // 0
var num3 = parseFloat("22.5"); // 22.5
var num4 = parseFloat("22.5.4"); //22.5
var num5 = parseFloat("3.125e7"); // 31250000</span>

JavaScript数值转换总结,布布扣,bubuko.com

时间: 2024-10-15 05:24:12

JavaScript数值转换总结的相关文章

Javascript数值转换(Number,parseInt,parseFloat)

PS:赶紧抓紧时间看看吧~ * 有3个函数可以把非数值转换为数值:Number().parseInt().parseFloat() * 第一个函数,即转型函数Number()可以用于任何数据类型,而另两个函数则专门用于把字符串转换成数值. * 这三个函数对于同样的输入会有返回不同的结果: * * * Number()函数的转换规则如下: * 1,Boolean值,true和false将分别被转换为1或0: * 2,数字,简单的传入和返回: * 3,null,返回0: * 4,undefined,

JavaScript - 数值类型的判断与常用转换方式

主要参考: isNaN() - JavaScript | MDN Number.isNaN() - JavaScript | MDN parseInt() - JavaScript | MDN parseFloat() - JavaScript | MDN 数值类型的判断方法isNaN()和Number.isNaN() 可接受任意参数,用来判断其参数是否为NaN(not a number) 由于把NaN与任何值(包括其自身)相比得到的结果都是false,因此无法通过==或===运算符来判断某个值

javascript 的数值转换

js中有3个函数可以把非数值转换成数值:Number(),parseInt()和parseFloat(). Number()可以用于任何数据类型,而另外两个函数则专门用于把字符串转换成数值.这三个函数对于同样的输入会有返回不同的结果. Number()函数的转换规则如下: 如果是Boolean值,则转换成1或者0. 如果是数字,只是简单的传入传出. 如果是null,返回0. 如果是undefined,返回NaN. 如果是字符串,如果字符串中包含非数字字符,则将其转成NaN. 如果是对象,则调用对

javascript强制转换详解

转换成数值 Number函数强制转换成数值 数值->转换成原来的值 字符串->如果可以解析为数值,则转换成数值:否则转换成NaN或者0 true->1,falSe->0 undefined->NaN null->0 转换成整型 praSeInt() 转换成浮点型 praSeFloat() 注意 Number函数将字符串转换为数值比praSeInt函数严格很多.基本上只要有一个字符无法转换成数值,整个字符串就会被转换成NaN 转换成字符串 通过String函数转换成字符串

javascript浮点数转换成整数三种方法

将浮点数转换成整数方法有很多,分享三种常用方法. Summary 暂时我就想到3个方法而已.如果读者想到其他好用方法,也可以交流一下 parseInt位运算符Math.floor Math.ceil Description 一.parseInt 1. 实例 parseInt("13nash");//13 parseInt("")// NaN parseInt("0xA") //10(十六进制) parseInt(" 13")/

JavaScript数值和字符串、特殊字符

一.JavaScript数值 1.整数和浮点数 根据国际标准 IEEE 754,64 位浮点数格式的 64 个二进制位中,第0 位到第 51 位储存有效数字部分,第 52 到第 62 位储存指数部分,第 63 位是符号位,0 表示正数,1 表示负数. (图片:海码歌) 1). JavaScript 内部,所有数字都是以 64 位浮点数形式储存,即使整数也是如此.所以,1 与 1.0 是相等的,而且 1 加上 1.0 得到的还是一个整数, 自己会推导类型,不会像 JAVA 那样变成小数. 2).尽

IE JavaScript字符串转换成Date后出现NaN错误

参考的博文:http://blog.csdn.net/zhu7478848/article/details/53388582 在IE浏览器下, JavaScript字符串转换成Date后会出现NaN错误,但是在其他的浏览器下,都没有问题. 因此,转变字符串的格式. var  date  = new Date("2016-10-11") 在IE下date是NaN,而其他浏览器正常. 字符串修改成 2016/10/11 var  date  = new Date("2016-10

〖Linux〗Shell十进制数值转换十六进制

1 dec2hex(){ 2 printf "%x" $1 3 } 4 5 a=$(dec2hex 2131165531) 6 echo $a [Linux]Shell十进制数值转换十六进制,布布扣,bubuko.com

用boost::lexical_cast进行数值转换

在STL库中,我们可以通过stringstream来实现字符串和数字间的转换: int i = 0;    stringstream ss; ss << "123";    ss >> i; 但stringstream是没有错误检查的功能,例如对如如下代码,会将i给赋值为12. ss << "12.3";    ss >> i; 甚至连这样的代码都能正常运行: ss << "hello world