博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript 的数值转换
阅读量:6592 次
发布时间:2019-06-24

本文共 689 字,大约阅读时间需要 2 分钟。

  js中有3个函数可以把非数值转换成数值:Number(),parseInt()和parseFloat()。

  Number()可以用于任何数据类型,而另外两个函数则专门用于把字符串转换成数值。这三个函数对于同样的输入会有返回不同的结果。

  Number()函数的转换规则如下:

  • 如果是Boolean值,则转换成1或者0。
  • 如果是数字,只是简单的传入传出。
  • 如果是null,返回0.
  • 如果是undefined,返回NaN。
  • 如果是字符串,如果字符串中包含非数字字符,则将其转成NaN。
  • 如果是对象,则调用对象的valueOf(),然后依照前面的规则返回值,如果转换结果是NaN,则调用对象的 toString() 方法,然后再次依照前面的规则转换返回的字符串值。

  由于Number()函数转换字符串时比较复杂而且不够合理,所以在处理整数的时候更常用的是parseInt()。它在转换字符串时,更多的是看其是否符合数值模式。它会忽略字符串前面的空格,直到找到第一个非空格字符。如果第一个字符不是数字字符或者符号,parseInt()就会返回Nan;也就是说,用parseInt()转换空字符串也会返回NaN。如果第一个字符是数字字符,它会继续解析第二个字符,直到解析完所有后续字符或者遇到了第一个非数字字符。例如“100px”会被转换成100。“22.5”转换成22,因为小数点不是有效的数字字符。

  parseFloat几乎和parseInt一样,除了可以解析小数。

转载于:https://www.cnblogs.com/lvchat/p/3983049.html

你可能感兴趣的文章
Know about Oracle RAC Heartbeat
查看>>
JQuery——实现Ajax应用
查看>>
前端05.js入门之BOM对象与DOM对象。
查看>>
oracle kill所有plsql developer进程
查看>>
keepalived双机热备原理及实例部署LVS+keepalived
查看>>
曲线学习PyQt5方案一
查看>>
OpenCV学习】矩阵运算和操作2
查看>>
nginx+ffmpeg搭建rtmp转播rtsp流的flash服务器
查看>>
关于在arm裸板编程时使用printf问题的解决方法
查看>>
开源人工智能技术将改变一切
查看>>
2015 上半年 JavaScript 使用统计数据
查看>>
《Python算法教程》——1.6 如果您感兴趣
查看>>
深度解析Java8 – AbstractQueuedSynchronizer的实现分析(下)
查看>>
SSH原理与运用(一):远程登录
查看>>
Spring Framework 4.2 中的新功能和增强功能
查看>>
动态代理解决网站字符集编码
查看>>
Hbuilder--让手爽,飞一般的编码(二)
查看>>
后台统计
查看>>
React组件: 提取图片颜色
查看>>
3D应用开发中的欧拉角和旋转矩阵
查看>>