javascript字符串转数字有三种方式:number()最严格,全字符匹配否则nan;parseint()提取开头整数,支持进制参数;parsefloat()提取开头浮点数,支持小数点和指数。

JavaScript 中把字符串转成数字,主要有三种常用方式:Number()、parseInt() 和 parseFloat(),它们适用场景不同,选错容易出问题。
用 Number() 转换(最严格)
它尝试把整个字符串解析为一个数字,只要含非数字字符(除了开头的空格、正负号),就返回 NaN。
-
Number("123")→123 -
Number(" -45.6 ")→-45.6 -
Number("12px")→NaN -
Number("")→0(空字符串被当作 0)
用 parseInt() 提取整数(按进制解析)
它从左往右读,遇到第一个不能组成有效整数的字符就停止,适合提取“开头是数字”的字符串中的整数部分。注意:默认按十进制,但可传第二个参数指定进制。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
-
parseInt("123abc")→123 -
parseInt("0xFF", 16)→255 -
parseInt("42.9")→42(小数点不是整数字符,直接截断) -
parseInt(" 78 ")→78(自动忽略首尾空格)
用 parseFloat() 提取浮点数
类似 parseInt,但它能识别小数点和指数符号(e 或 E),直到遇到非法浮点字符为止。
-
parseFloat("3.14px")→3.14 -
parseFloat(" -2.5e3xyz")→-2500 -
parseFloat("12")→12(没有小数点也返回数字) -
parseFloat("abc123")→NaN(开头不是数字或符号)
小心隐式转换(不推荐用于明确转换)
比如 +"123"、"45" * 1、"67" - 0 确实能转成数字,但可读性差,且在空字符串、全空格等边界情况行为不一致(如 +" " 是 0,而 Number(" ") 也是 0,但 parseInt(" ") 是 NaN)。建议明确使用上面三种函数之一。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










