zoukankan      html  css  js  c++  java
  • Number()、parseInt()和parseFloat()的区别

    JS中Number()、parseInt()和parseFloat()的区别

    声明:本文不公开,作者只是为了让自己看到这些代码后可以一目了然的知道代码的用处所写的文档

    文章摘抄自:https://blog.csdn.net/m0_38099607/article/details/72638678

    三者的作用:

    • Number(): 可以用于任何数据类型转换成数值。
    • parseInt(45.56) 函数可解析一个字符串,并返回一个整数。
    • parseFloat(‘45.56’): 函数可解析一个字符串,并返回一个浮点数。
    • NumberObject.toFixed(num) 方法可把 Number 四舍五入为指定小数位数的数字(字符型)。
    • Math.round() 方法可把一个数字舍入为最接近的整数:

    注意:parseFloat和Number,如果是转换45.00时会去掉小数位的00,toFixed会保留小数后的00,toFixed返回的是字符型。

    一、Number( ):

    可以用于任何数据类型转换成数值。

    var num1=Number("Hello World");  //NaN
    
    var num2=Number("");             //0
    
    var num3=Number("000011");       //11
    
    var num4=Number(true);           //1
    
    var num5=Number("num123")       //NaN
    
    

    二、parseInt( ):

    parseInt()函数可以将字符串转换成一个整数,与Number()函数相比,parseInt()函数不仅可以解析纯数字字符串,也可以解析以数字开头的部分数字字符串(非数字部分字符串在转换过程中会被去除)。
    (1)如果第一个字符不是数字字符或者负号,parseInt()就会返回NaN; 也就是说,用parseInt()转换空字符串会返回NaN。
    (2)如果第一个字符是数字字符,parseInt()会继续解析第二个字符,直到解析完所有后续字符或者遇到了一个非数字字符。
    (3)如果字符串以”0x”开头且后跟数字字符,就会将其当作一个十六进制整数。
    (4)parseInt()函数增加了第二参数用于指定转换时使用的基数(即多少进制)。
    (5) 默认是10进制为基数。

    var num1=parseInt("num123");    //NaN
    var num2=parseInt("");          //NaN
    var num3=parseInt("123.45")     //123
    var num4=parseInt("101010",2)   //42    2进制转换成10进制
    var num5=parseInt("123num")     //123   
    var num5=parseInt("123")        //123   
    var num6=parseInt("123",8)      //83    8进制转换成10进制
    var num7=parseInt("0xff")       //255   16进制转换成10进制
    var num8=parseInt("0123")       //123   会省略前面的0  
    

    三、parseFloat( ):

    函数可解析一个字符串,并返回一个浮点数。
    该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。

    var num1=parseFloat("1234blue");    //1234
    
    var num2=parseFloat("0xA");         //0
    
    var num3=parseFloat("0908.5");      //908.5
    
    var num4=parseFloat("3.125e7");     //31250000 ?这个为什么是这个值,暂时还没有搞懂
    
    var num5=parseFloat("123.45.67")    //123.45
    
    var num6=parseFloat("")             //NaN
    
    var num7=parseFloat("num123")       //NaN
    
    

    注意 parseFloat且仅能处理10进制字符串。

  • 相关阅读:
    删除字符串组中相同元素,并删除值为空的元素 (转载,笔记)
    获取操作系统语言
    .net 传递中文参数解决办法
    古怪问题:vs2003程序 在繁体平台下控件位置发生变化
    Godaddy邮箱C#发送邮件设置
    无法显示隐藏文件的解决方法
    虚拟机文件
    sql 2000 修复问题
    看QQ是否在线
    sql 知识摘录
  • 原文地址:https://www.cnblogs.com/hyx626/p/9288449.html
Copyright © 2011-2022 走看看