JavaScript字符串转数字的5种方法及遇到的坑
一元云算符 最常用方法
"1.23"
* 1
// returns 1.23
"0xFF"
- 0
// returns 255
"0xFF.jpg"
/ 1
// returns NaN
+
"023"
// returns 23
parseInt()
处理整数的时候parseInt()更常用。parseInt()函数在转换字符串时,会忽略字符串前面的空格,知道找到第一个非空格字符。
如果第一个字符不是数字,parseInt() 就会返回NaN,同样的,用parseInt() 转换空字符串也会返回NaN。
如果第一个字符是数字字符,parseInt() 会继续解析第二个字符,直到解析完所有后续字符串或者遇到了一个非数字字符。
基是由parseInt()方法的第二个参数指定的,所以要解析十六进制的值,当然,对二进制、八进制,甚至十进制(默认模式),都可以这样调用parseInt()方法。
console.log(parseInt('12.34')) // 12
console.log(parseInt(' 12.34')) // 12
console.log(parseInt('a12.34')) // NaN
console.log(parseInt('12a.34')) // 12
console.log(parseInt('012a.34')) // 12
parseFloat()
把值转换成浮点数
与parseInt() 函数类似,parseFloat() 也是从第一个字符(位置0)开始解析每一个字符。也是一直解析到字符串末尾,或者解析到遇见一个无效的浮点数字字符为止。
也就是说,字符串中第一个小数点是有效的,而第二个小数点就是无效的了,它后面的字符串将被忽略。
parseFloat() 只解析十进制,因此它没有第二个参数指定基数的用法
如果字符串中包含的是一个可解析为正数的数(没有小数点,或者小数点后都是零),parseFloat() 会返回整数。
console.log(parseInt('0xa')) // 0
parseInt() 和parseFloat() 的区别在于:
- parseFloat() 所解析的字符串中第一个小数点是有效的,而parseInt() 遇到小数点会停止解析,因为小数点并不是有效的数字字符。
- parseFloat() 始终会忽略前导的零,十六进制格式的字符串始终会被转换成0,而parseInt() 第二个参数可以设置基数,按照这个基数的进制来转换。
Number() 强类型转化最慢最不常用
转载于:https://www.cnblogs.com/congtt/p/10348548.html
JavaScript字符串转数字的5种方法及遇到的坑相关推荐
- html将字符串转为数值,JavaScript字符串转数字的5种方法及其陷阱
JavaScript 是一个神奇的语言,字符串转数字有 5 种方法,各有各的坑法!下面本篇文章就来介绍一下JavaScript字符串转数字的5种方法及其陷阱,希望对大家有所帮助. String 转换为 ...
- JavaScript字符串转数字的5种方法及其陷阱
2019独角兽企业重金招聘Python工程师标准>>> 摘要 :JavaScript 是一个神奇的语言,字符串转数字有 5 种方法,各有各的坑法! 原文: Converting St ...
- php 正则获取数字,php结合正则获取字符串中数字的几种方法
本篇文章主要介绍php结合正则获取字符串中数字的几种方法,感兴趣的朋友参考下,希望对大家有所帮助. php结合正则获取字符串中数字<?php $patterns = "/\d+/&qu ...
- 在javascript中将字符串转换为数字的6种方法
在javascript中,数字可以用两种不同的方式表示, 1.作为实际数字. 2. 作为字符串 . 很多时候,我们需要在javascript中将字符串转换为数字. 我们将看到6种不同的方法可以将字符串 ...
- 在 JavaScript 中将字符串转换为数字的 7 种方法
1. 使用 parseInt() parseInt()解析一个字符串并返回一个整数.允许空格.仅返回第一个数字. 这种方法虽然有一个限制.如果您解析十进制数,它将四舍五入到最接近的整数值,并将该值转换 ...
- 学习笔记:获取字符串中数字的两种方法
方法一:正则表达式法 var s = "123半234月789谈000"; a = s.replace(/[^0-9]/ig, ""); console.log ...
- javascript字符串string常用的几种方法
//字符串中的字符转换为大写 toUpperCase() var upper=str.toUpperCase(); //upper='1A2A3A4A5A'; //str='1a2a3a4a5a'; ...
- Shell中判断字符串是否为数字的6种方法
Shell中判断字符串是否为数字的6种方法 #!/bin/bash # 方法1 a=1234;echo "$a"|[ -n "`sed -n '/^[0-9][0-9]* ...
- python中字符串转成数字的几种方法
在python列表操作中,面对需要把列表中的字符串转为礼拜的操作,无需强转,通过简单的几步就可以实现,本文介绍python中字符串转成数字的三种方法:1.使用join的方法:2.使用int函数将16进 ...
最新文章
- 权威的C ++书籍指南和清单
- android 文件名 标题,有什么方法可以让Android的默认浏览器识别Content-Disposition:attachment下载中的非ASCII文件名?...
- CSS3——transform
- vins 解读_代码解读 | VINS 视觉前端
- Linux 定时任务crontab_014
- virsh 网络设置_KVM使用Network Filters进行虚拟机网络管理 | leon的博客
- Win7下安装配置OpenCV2.3+Visual Studio 2008
- 批量导入时间oracle excel,读取Excel数据、批量导入到Oracle数据库
- jedis开发过程中遇到的问题及其解决方法
- sklearn.preprocessing之数据预处理
- linq to json
- linux内核 address_space 结构
- cad在线转换低版本_资源分享/CAD版本转换器
- 数据库连接出错。错误代码:-2147467259。错误原因:未指定的错误
- amr文件怎么转换成mp3?
- JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识...
- c++读取图片_四、faster-rcnn源码阅读:数据流读取
- 个人开发者只要一行代码接入微信支付和支付宝支付
- 信任=自信+他信+信他
- 8305天距离梦想还有8,352 千米 2012-03-31 23:18:53 柏林勃兰登堡门 再过两天就是我22周岁生日了,我在生命网站上摁下自己的出生年月,上面显示我已经度过了8305天,走
热门文章
- HDU 2602 骨头收集者
- ifont图标和Fontawesome图标
- 【论文精读】ISBI 2022 - Retinal Vessel Segmentation with Pixel-wise Adaptive Filters
- Digia 从 Nokia 手中接管 Qt
- SSD 4K未对齐,且启动AHCI蓝屏解决办法
- 在北京,想租一辆车去跑滴滴划算吗?
- Apex---Apache开源流式处理框架
- 机器学习——K近邻分类算法及python代码实现
- 对图片进行各种样式裁对图片进行各种样式裁剪:圆形、星形、心形、花瓣形等剪:圆形、星形、心形、花瓣形等--第三方开源--CustomShapeImageView
- python办公自动化(八)python-docx实现word的批量合并、制作邀请函以及数据的情感分析