• 技术文章 >web前端 >js教程

    JavaScript中关于数据类型转换的具体分析

    黄舟黄舟2017-08-08 13:50:07原创635


    JavaScript数据类型转换

    显示转换

    有三个函数可以把字符串转换为数值:Number()、parseInt()、parseFloat()。Number()可以用于任何数据类型,而另外两个函数则专门用于把字符串转换成数值。

    1)Number()

    如果字符串为数值字符串,则将其转换为十进制数值。

    如果字符串中包含有效的十六进制格式,例如"0xf",则将其转换为相同大小的十进制整数值。

    如果字符串为空字符串或空格字符串,则将其转换为0。

    如果字符串中含有除上述格式以外的字符,则将其转换成NaN。

    2)parseInt():返回整数

    parseInt()函数在转换字符串时,更多的是看其是否符合数值模式。它会忽略字符串前面的空格,直至找到第一个非空格字符。如果第一个字符不是数字字符或者负号,parseInt()就会返回NaN,如果是空字符串,则会返回NaN。如果第一个字符是数字字符,parseInt()会继续解析第二个字符,直到解析完所有后续字符或者遇到非数字字符。

    3)parseFloat():返回浮点数

    parseFloat()可以返回小数。parseFloat()转换的时候,也是从第一个字符开始解析每个字符,直到解析到字符串末尾,或者解析到遇见一个无效的浮点数字字符为止,也就是说,字符串中的第一个小数点是有效的,而第二个小数点就是无效的。

    4)toString():其它类型—>字符串

    十进制转换成二进制

    例:

    var a = 302;
    console.log(a.toString(2));
    toString( )<括号里面的数字是几就转换成几进制>

    把其他类型变量转换成字符串,我们通常使用toString()方法。数值、布尔值、对象和字符串都有toString()方法,但null和undefined没有这个方法。我们还可以使用转型函数String(),这个函数能够将任何类型的值转换成字符串。当toString可以通过输入基数以二进制、八进制、十六进制,乃至其他有效的进制格式表示字符串。

    例如:

    console.log(a.toString()); // "123"
    console.log(bool.toString()); // "true"

    5)toFixed(n):保留n位小数(输出类型:string)

    var pi = 0.45;   //0.95对toFixed有疑问为0.9
    alert(Math.round(pi));  //round四舍五入取整
    alert(pi.toFixed(1));   // 四舍五入为指定小数位数的数字。

    输出类型: string

    解释:

    toFixed它是一个四舍六入五成双的诡异的方法,"四舍六入五成双"含义:对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是“四舍六入五成双”,也即“4舍6入5凑偶”这里“四”是指≤4 时舍去,"六"是指≥6时进上,"五"指的是根据5后面的数字来定,当5后有数时,舍5入1;当5后无有效数字时,需要分两种情况来讲:①5前为奇数,舍5不进;②5前为偶数,舍5入1。

    兼容:

    var a = "070";
    alert(typeof parseInt(a));
    alert(parseInt(a));
    IE6-7-8:56(八进制计算)

    谷歌正常 70;

    处理兼容:(a, 10),强制几进制输出!

    隐式转换

    隐式转换的方式可以通过+""、* 1、/ 1的运算来把数值转换成字符串。(可相互)

    数字——字符串: 数字 +(连字符)<数字+字符串=字符串>

    字符串——数字: + - * / %

    "123"-0 "123"*0 "123"/0 +"123" "123"%比前面的数值字符串大的数字;

    显式转换是通过函数的形式,将字符串转换成数组的形式,隐式转换则是通过运算符的方式将字符串转换成数字的形式。

    总结:

    显示转换:

    1)Number()

    2)parseInt():返回整数

    3)parseFloat():返回浮点数

    4)toString():其它类型—>字符串

    5)toFixed(n):保留n位小数(输出类型:string)

    隐式转换:

    数字转换为字符串:+ ""

    var str =  数字 + "";

    字符串转数字:

    var strs =  + - * / %“数字”;

    以上就是JavaScript中关于数据类型转换的具体分析的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:JavaScript js 转换
    上一篇:JavaScript实现Tab切换的图文介绍 下一篇:Javascript中var与let之间的不同和相同
    千万级数据并发解决方案

    相关文章推荐

    • 浅析Angular变更检测机制,聊聊如何进行性能优化?• JavaScript对象的构造函数和new操作符(实例详解)• Angular知识点分享:聊聊表单、管道、绑定、指令、通信和周期• 深入浅析Node.js中常见的内置模块• 深入聊聊node.js中的EventEmitter
    1/1

    PHP中文网