一. Number()

1.参数为Boolean时,true为1,false为2

Number(true); // 1
Number(false); // 0

2.参数为String时

// 1. 当字符串中有字母时
Number("abc"); // NaN
Number("abc123"); // NaN
Number("123abc"); // NaN// 2. 当字符串中只有数字时(数字前可以有正负号)
Number("123"); // 123
Number("+123"); // 123
Number("-123"); // -123
Number("0123"); // 123 忽略前导0// 小数
Number("1.23"); // 1.23// 十六进制数会转为十进制
Number("0xf"); // 15// 空字符串转为0
Number(""); // 0

3.参数为null,返回0

Number(null); // 0

4.参数为undefined,返回NaN

Number(undefined); // NaN

5.参数为对象,则调用对象的valueOf()方法,然后依照前面的规则转换返回的值。如果转换的结果为NaN,则调用对象的toString()方法,然后再按照前面的规则转换返回的字符串值。

// 数字数组
Number([1, 2]); // NaN
Number([1]); // 1// 字符串数组
Number(["1", "2"]); // NaN
Number(["1"]); // 1
Number(["a"]); // NaN
Number([null]); // 0

6.数字则转换成对应的数值

Number(1); // 1
Number(-0.1); // -0.1

二. parseInt()

1.参数为Boolean时,返回NaN

parseInt(true); // NaN
parseInt(false); // NaN

2.参数为String时,一个字符一个字符解析,直到解析完或遇到第一个非数字字符。
注:小数点也不是有效的数字字符。

// 既有数字,又有字符
parseInt("abc123"); // NaN
parseInt("123abc"); // 123// 整数
parseInt("000123"); // 123 忽略前导0// 小数
parseInt("1.23"); // 1// 十六进制,第二个参数指定转换时使用的基数(即几进制)
parseInt("0xAF"); // 175
parseInt("AF"); // NaN
parseInt("0xAF", 16); // 175 指定按十六进制解析
parseInt("AF", 16); // 175 指定按十六进制解析// 八进制
parseInt("070"); // 70 ES5认为其为70(十进制)
parseInt("70"); // 70
parseInt("070", 8); // 56 指定按八进制解析
parseInt("70", 8); // 56 指定按八进制解析// 空字符
parseInt(""); // NaN

3.参数为对象

// 数组,解析第一个值
parseInt([1,2]); // 1
parseInt([1, "a"]); // 1
parseInt(["a", 1]); // NaN

三. parseFloat()

1.参数为Boolean时,返回NaN

parseFloat(true); // NaN
parseFloat(false); // NaN

2.参数为String时,一个字符一个字符解析,直到解析完或遇到一个无效的浮点数字字符为止。
即:字符串中第一个小数点是有效的,第二个小数点是无效的。
注:parseFloat()无第二个参数,不能解析十六进制数。

// 既有数字,又有字符
parseFloat("123.456abc"); // 123.456
parseFloat("abc123.456"); // NaN// 小数
parseFloat(".456"); // 0.456
parseFloat("000012.34"); // 12.34 忽略前导0
parseFloat("123.456.789"); // 123.456 第二个小数点无效
parseFloat("1.23e5"); // 123000// 十六进制
parseFloat("0xAF"); // 0// 空字符
parseFloat(""); // NaN

四. 总结

  1. Number()能转换boolean值,null,只含整数或小数的字符串,空字符串,对象。
  2. parseInt()按字符解析,直到遇见第一个非数字字符为止。
  3. parseFloat()按字符解析,直到遇见一个无效的浮点数字字符为止。

JS字符串转换为数字,Number(),parseInt()和parseFloat()的区别相关推荐

  1. Node.js 字符串转换为数字型

    字符串转化为数字 在Node.js源代码里,经常见到使用各种符号处理字符串为数字的方法. + * ~~ >> >>> + 将字符串转化为数字,可在前面加+号: var s ...

  2. JavaScript 将字符串转换为数字 – JS 字符串转 Int 示例

    JavaScript 将字符串转换为数字 – JS 字符串转 Int 示例 "John Doe" -> String 'John Doe' -> String &quo ...

  3. js函数 Number()、parseInt()、parseFloat()的区别:

    Number().parseInt().parseFloat()的区别: Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是 ...

  4. Number()、parseInt()和parseFloat()的区别

    JS中Number().parseInt()和parseFloat()的区别 三者的作用:  Number(): 可以用于任何数据类型转换成数值: parseInt(): 函数可解析一个字符串,并返回 ...

  5. Number()、parseInt() 和 parseFloat() 的区别

    一:Number() 如果是Boolean值,true和false值将分别被转换为1和0. 如果是数字值,只是简单的传入和返回. 如果是null值,返回0. 如果是undefined,返回NaN. 如 ...

  6. 在 JavaScript 中将字符串转换为数字的 7 种方法

    1. 使用 parseInt() parseInt()解析一个字符串并返回一个整数.允许空格.仅返回第一个数字. 这种方法虽然有一个限制.如果您解析十进制数,它将四舍五入到最接近的整数值,并将该值转换 ...

  7. 在javascript中将字符串转换为数字的6种方法

    在javascript中,数字可以用两种不同的方式表示, 1.作为实际数字. 2. 作为字符串 . 很多时候,我们需要在javascript中将字符串转换为数字. 我们将看到6种不同的方法可以将字符串 ...

  8. TypeScript将字符串转换为数字

    本文翻译自:TypeScript Converting a String to a number Anyone a suggestion on how to convert a string to a ...

  9. c++ascii码转换为数字_在C++中将字符串转换为数字

    有许多情况需要将数字转换为字符串或将字符串转换为数字.本文中提到了一些实现此任务的方法. 将字符串转换为数字 方法1:使用stringstream类或sscanf() 方法2:使用stoi()或ato ...

最新文章

  1. Android API 中文 (51) —— ZoomButtonsController
  2. 使用np.load()加载数据 报错 Object arrays cannot be loaded when allow_pickle=False
  3. AndroidStudio自动补完包的快捷键
  4. [vue] vue组件之间的通信都有哪些?
  5. 关于python中带下划线的变量和函数 的意义,class类带一个下划线和带两个下划线的定义
  6. PostgreSQL 多重含义数组检索与条件过滤 (标签1:属性, 标签n:属性) - 包括UPSERT操作如何修改数组、追加数组元素
  7. Html 按钮button加超链接
  8. Qt可执行程序写入版本信息
  9. 如何迁移outlook邮件到另一个硬盘_如何注册Yahoo邮箱?
  10. Java虚拟机-垃圾回收器
  11. Python批量替换掉某些值为新的值
  12. Java中测试异常的多种方式
  13. php反射API 获取属性/注释/方法 执行方法 实例
  14. S/4 HANA中的数据库锁策略
  15. 《Lua游戏AI开发指南》一第2章 创建并移动智能体
  16. Mac读写ntfs磁盘工具:Paragon NTFS for Mac
  17. 常用统计预测方法介绍
  18. 2019北京中考英语口语计算机考试,2019北京中考英语听说考试体验系统发布,附考试流程和注意事项...
  19. 三星时差定位算法 matlab,三星时差定位,tri-satellites geo-location using TDOA,音标,读音,翻译,英文例句,英语词典...
  20. 51单片机c语言相位计,相位计.doc

热门文章

  1. SpringMvc-ResponseBodyAdvice接口与@ControllerAdvice注解
  2. css中aspect,css 媒体查询 aspect-ratio less 使用方法
  3. 谷歌chromeos_谷歌浏览器 79.0.3945.79 正式版
  4. mac11.3成功编译taichi笔记
  5. 【leetcode 简单】第十七题 x 的平方根
  6. ubuntu-ln命令
  7. 牛腩新闻发布系统——触发器使用
  8. 用ZedGraph作图表(一)
  9. Kubernetes 网络部分
  10. 句句真研—每日长难句打卡Day2