js parseInt()与Number()区别 您所在的位置:网站首页 number和number的区别 js parseInt()与Number()区别

js parseInt()与Number()区别

2023-09-10 06:26| 来源: 网络整理| 查看: 265

说到转换成数字类型,我首先想到的是parseInt(),后来接触多了才发现还有一个Number(),同样是转换成数字类型,这两种方法有什么不同的呢?

1.parseInt():

     parseInt(string,radix):将字符串解析转化为数字类型,返回的是整数;

        string:待被解析的字符串;

        radix:表示要解析转换的进制

       PS:(如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN);

例:

alert(parseInt("10")) ; //10 alert(parseInt("19",10)); //19,1*10^1+9*10^0=19 alert(parseInt("11","2")); //3,1*2^1+1*2^0=3 alert(parseInt("17","8")); //15,1*8^1=7*8^0=15

当遇到数字后带有字符串,则只返回前面的数字(例parseInt(123mgn)=123),如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。

 

2.Number()

      Number(object):将对象的值转换为数字;

        如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。

       如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。

 

var test1= new Boolean(true); var test2= new Boolean(false); var test4= new String("999"); var test5= new String("999 888"); document.write(Number(test1)+ ""); //1 document.write(Number(test2)+ ""); //0 document.write(Number(test4)+ ""); //999 document.write(Number(test5)+ ""); //NaN

 

为了更直观的体会两者之间的区别,我们看一下两种方法的结果:

 

//当字符串只有数字组成 var numbeTrans="9898"; alert(parseInt(numberTrans)); //9898 alert(Number(numberTrans)); //9898 //当数字只有字母组成 var numbeTrans="abab"; alert(parseInt(numberTrans)); //NaN alert(Number(numberTrans)); //NaN //当字符串由字母与数字组成 var numbeTrans="123ab"; alert(parseInt(numberTrans)); //123 alert(Number(numberTrans)); //NaN //当字符串为小数时 var numbeTrans="123.123"; alert(parseInt(numberTrans)); //123 alert(Number(numberTrans)); //123.123 //当字符串为空null时 var numbeTrans="null"; alert(parseInt(numberTrans)); //NaN alert(Number(numberTrans)); //0 //当字符串为空“ ”时 var numbeTrans=" "; alert(parseInt(numberTrans)); //NaN alert(Number(numberTrans)); //0


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有