补点JavaScript 基础:字符串到数字类型的转换(Number, +, ~~, parseInt, parseFloat)

JavaScript 中把一个字符串转换成数字类型的方法有多种,比如说对于变量a,常见的转换书写方式有Number(a)、+a、~~a、parseInt(a)、parseFloat(a),各自都有自己的适用场合,对这几种转换方式在这里稍微小结下:

  1. Number 和 + 的效果等价;
  2. 当转换失败时 ~~ 返回0,其他的返回NaN;
  3. ~~ 和 parseInt 不会返回浮点数;
  4. Number、+、~~ 将字符串看作一整体做转换,而parseInt、parseFloat 允许局部转换;
  5. 对于八进制表示,parseInt 可进行正确的转换,其他方式则会忽略前导0;
  6. parseFloat 不识别十六进制整数,其他方式可正确转换,另外十六进制带上小数均判定为无效的数字型。
举几个例子好让大家明白些:
 Number+~~parseIntparseFloat
'esun' NaN NaN 0 NaN NaN
'500' 500 500 500 500 500
'500wan' NaN NaN 0 500 500
'500.5' 500.5 500.5 500 500 500.5
'0500' 500 500 500 320 500
'0500.5' 500.5 500.5 500 320 500.5
'0x500' 1280 1280 1280 1280 0
'0x500.5' NaN NaN 0 1280 0
posted @   hihuimin  阅读(733)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示