JavaScript数值转换函数(Number(),parseInt(),parseFloat(),Math)总结

时间:2022-08-25 16:13:59

      在前端开发的过程中,需要用到很多关于数值转换的函数,来将得到的字符串或者数值进行处理。如将一个浮点数转换为整数;将一个整数转换为浮点数;将一段字符串转换为数值;将一个浮点数转换为小于它的最小整数或者保留几个小数等。

     参考网上的一些资料,也结合自己平时的开发,粗略介绍一下一些常用的数值转换函数。

     首先对所要讲的数值转换函数做一个列表:Number(),parseInt(),parseFloat(),Math.ceil(),Math.floor(),Math.round(),toFixed()等。

     下面就逐一介绍各个函数的用法:

Number()函数:

      用new Number(num);创建一个Number对象,传入的num参数可以是一个Date对象、Boolean值、数字值或者是字符串等等。

      当传入的参数是Date对象时,将返回从1970年1月1日至今的毫秒数;

      当传入一个Boolean值true或false时,将返回一个数字0或1;

      当传入一个数值时,返回的也将是该数值;

      当传入null值时,返回的将是0;

      当传入undefined时,返回的将是NaN;

      当传入一个字符串时:1.字符串只包含数字(包括八进制格式0,十六进制格式0x),返回的将是一个数值;2.如果传入的字符串为空,将返回0;3.如果字符串不全为数字,将返回NaN;

document.write(Number(new Date())+'<br/>');//返回从1970年1月1日至今的毫秒数
document.write(Number(false)+'<br/>');//返回0,如果是true,将返回1
document.write(Number(123)+'<br/>');//返回数值123
document.write(Number(null)+'<br/>');//返回0
document.write(Number(undefined)+'<br/>');//返回NaN
document.write(Number('123')+'<br/>');//返回123
document.write(Number(0123)+'<br/>');//返回十进制83
document.write(Number('0x12')+'<br/>');//返回十进制18
document.write(Number('y123')+'<br/>');//返回NaN

parseInt()函数:

      parseInt函数将传入的字符串或者数值转换为整数:1.当传入整数时,返回一个整数;2.当传入一个浮点数时,小数点及小数将被去掉,返回一个整数;3.当传入一个字符串时,如果字符串以字符开头,则返回NaN;如果字符串以数值开头,则返回该数值;4.当传入的是八进制或者十六进制数时,返回相应的十进制数。

document.write(parseInt(123)+'<br/>');//返回123
document.write(parseInt(0123)+'<br/>');//这是一个八进制数,返回十进制数83
document.write(parseInt(0x123)+'<br/>');//这是一个十六进制数,返回十进制数291
document.write(parseInt(123.23)+'<br/>');//返回123
document.write(parseInt('y123')+'<br/>');//返回NaN
document.write(parseInt('123y')+'<br/>');//返回123
document.write(parseInt('123y123')+'<br/>');//返回123

      与Number不同的是,都传入一个字符串时,如果字符串中有字符,并且以数值开头,Number返回NaN,而parseInt返回该数值。

document.write(parseInt('123y')+'<br/>');//返回123
document.write(Number('123y')+'<br/>');//返回NaN
parseFloat函数:

      parseFloat函数与parseInt函数的用法类似

document.write(parseFloat(123.23)+"<br/>");//返回123.23
document.write(parseFloat(0123)+"<br/>");//返回十进制数83
document.write(parseFloat(0x123)+"<br/>");//返回十进制数291
document.write(parseFloat("y123.23")+"<br/>");//返回NaN
document.write(parseFloat("123.23y123")+"<br/>");//返回123.23
Math.ceil()函数:

       Math.ceil()函数返回大于传入值的最小值。如果传入123.23,则返回124。

Math.floor()函数:

      Math.floor()函数返回小于传入值得最大值。如果传入123.23,则返回123。

Math.round()函数:

      Math.round()函数返回与传入值最接近的值。如果传入123.23,则返回123;如果传入123.55,则返回124。

toFixed()函数:

      toFixed(num)函数给某个数值设置保留几位小数。

var number=123.23;
document.write(number.toFixed(1)+"<br/>");//返回123.2
document.write(number.toFixed(3)+"<br/>");//返回123.230
      以上是对JavaScript数值转换函数的一些简单总结,在以后的工作学习中还将不断完善。