js 字符串转换成数字的三种方法_autojs字符转数字-程序员宅基地

技术标签: JavaScript  前端  javascript  开发语言  

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)

from:https://www.cnblogs.com/zfyouxi/p/4348280.html

在js读取文本框或者其他表单数据的时候获得的值是字符串类型的,比如两个文本框a和b,假设获得a的value值为11,b的value值为9 ,那么a.value要小于b.value,由于他们都是字符串形式的.在网上找了一下js字符串转数字的文章,这个比較全

方法主要有三种

转换函数、强制类型转换、利用js变量弱类型转换。

1. 转换函数:

js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。仅仅有对String类型调用这些方法,这两个函数才干正确执行;对其它类型返回的都是NaN(Not a Number)。

一些示比例如以下:

复制代码 代码例如以下:


parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN

parseInt()方法还有基模式,能够把二进制、八进制、十六进制或其它不论什么进制的字符串转换成整数。基是由parseInt()方法的第二个參数指定的,示比例如以下:

复制代码 代码例如以下:


parseInt("AF", 16); //returns 175
parseInt("10", 2); //returns 2
parseInt("10", 8); //returns 8
parseInt("10", 10); //returns 10

假设十进制数包括前导0,那么最好採用基数10,这样才不会意外地得到八进制的值。比如:

复制代码 代码例如以下:


parseInt("010"); //returns 8
parseInt("010", 8); //returns 8
parseInt("010", 10); //returns 10

parseFloat()方法与parseInt()方法的处理方式相似。
使用parseFloat()方法的还有一不同之处在于,字符串必须以十进制形式表示浮点数,parseFloat()没有基模式。

以下是使用parseFloat()方法的演示样例:

复制代码 代码例如以下:


parseFloat("1234blue"); //returns 1234.0
parseFloat("0xA"); //returns NaN
parseFloat("22.5"); //returns 22.5
parseFloat("22.34.5"); //returns 22.34
parseFloat("0908"); //returns 908
parseFloat("blue"); //returns NaN

2. 强制类型转换

还可使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换能够訪问特定的值,即使它是还有一种类型的。
ECMAScript中可用的3种强制类型转换例如以下:
Boolean(value)——把给定的值转换成Boolean型;
Number(value)——把给定的值转换成数字(能够是整数或浮点数);
String(value)——把给定的值转换成字符串。
用这三个函数之中的一个转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。
当要转换的值是至少有一个字符的字符串、非0数字或对象(下一节将讨论这一点)时,Boolean()函数将返回true。假设该值是空字符串、数字0、undefined或null,它将返回false。

能够用以下的代码段測试Boolean型的强制类型转换。

复制代码 代码例如以下:


Boolean(""); //false – empty string
Boolean("hi"); //true – non-empty string
Boolean(100); //true – non-zero number
Boolean(null); //false - null
Boolean(0); //false - zero
Boolean(new Object()); //true – object

Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,仅仅是它转换的是整个值,而不是部分值。示比例如以下:

复制代码 代码例如以下:


用  法 结  果
Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number( "5.5 ") 5.5
Number( "56 ") 56
Number( "5.6.7 ") NaN
Number(new Object()) NaN
Number(100) 100

最后一种强制类型转换方法String()是最简单的,示比例如以下:

复制代码 代码例如以下:


var s1 = String(null); //"null"
var oNull = null;
var s2 = oNull.toString(); //won't work, causes an error

3. 利用js变量弱类型转换

举个小样例,一看,就会明确了。

复制代码 代码例如以下:


<script>
var str= '012.345 ';
var x = str-0;
x = x*1;
</script>

上例利用了js的弱类型的特点,仅仅进行了算术运算,实现了字符串到数字的类型转换,只是这种方法还是不推荐的

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u010142437/article/details/79236597

智能推荐

redis一条set命令的执行过程_redis 对一个命令的处理流程是怎么样的?比如一个set命令-程序员宅基地

文章浏览阅读390次。set命令,在我们看来很简单,set zhangsan lisi,redis给我们返回一个 ok,就完事了。那redis的服务端是怎么处理这条简单的命令的?是不是像我们看起来的这么简单。今天这篇文章就来聊聊这个问题。在上一篇文章中,我们聊了redis IO多路复用的事件驱动框架。我们大致了解了redis是如何接收连接,如何将客户端的连接行为封装成事件并结合IO多路复用实现了对客户端连接的监听这一篇,我们聊聊当内核监听到客户端连接事件后,具体是如何处理连接事件的,我们用set命令来举例子。_redis 对一个命令的处理流程是怎么样的?比如一个set命令

maven配置本地仓库、maven配置阿里中央仓库_maven配置本地仓库路径-程序员宅基地

文章浏览阅读2.1k次。找到并修改< localRepository>,最初是注释掉的,取消注释就可以 < localRepository>你想存放的本地仓库路径< /localRepository>我这里用的阿里的中央仓库,也可以用网易的,或者Apache的(用国内的会更快一点)(不修改默认${user.home}/.m2/repository这个路径)至此,远程仓库已经配置完成。添加进去之后保存退出。_maven配置本地仓库路径

2023基于微信小程序的房屋租赁管理系统(SSM+mysql)-JAVA.VUE毕业设计(论文+开题报告+运行)_微信小程序-房屋管理系统-程序员宅基地

文章浏览阅读982次。本系统后台采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。图4-1系统工作原理图。_微信小程序-房屋管理系统

Java串口通讯基础概念-程序员宅基地

文章浏览阅读83次。串行通讯协议有很多种,像RS232,RS485,RS422,甚至现今流行的USB等都是串行通讯协议。而串行通讯技术的应用无处不在。可能大家见的最多就是电脑的串口与Modem的通讯。记得在PC机刚开始在中国流行起来时(大约是在90年代前五年),那时甚至有人用一条串行线进行两台电脑之间的数据共享。除了这些,手机,PDA,USB鼠标、键盘等等都是以串行通讯的方式与电脑连接。而笔者工作性质的关系,..._peak 串口

MySql索引失效及解决方案_mysql or索引失效如何解决-程序员宅基地

文章浏览阅读1.2k次。MySql索引失效及解决方案_mysql or索引失效如何解决

Android安卓实战项目(12)—关于身体分析,BMI计算,喝水提醒,食物卡路里计算APP【支持中英文切换】生活助手类APP(源码在文末)-程序员宅基地

文章浏览阅读1.1k次。Android安卓实战项目(12)---关于身体分析,BMI计算,喝水提醒,食物卡路里计算APP【支持中英文切换】生活助手类APP(源码在文末)

随便推点

php按钮跳转不同页面跳转,PHP页面跳转的几种实现方法-程序员宅基地

文章浏览阅读1.3k次。页面跳转可能是由于用户单击链接、按钮等触发的,也可能是系统自动产生的。页面自动跳转在WEB开发中经常用到,而且根据需求可以采用不同的跳转方式,比如提示操作信息后延时跳转等,慢生活的小编总结了PHP开发中常见的几种页面跳转方法。一、PHP header()函数跳转PHP的header()函数非常强大,其中在页面url跳转方面也调用简单,使用header()直接跳转到指定url页面,这时页面跳转是30..._php跳转按键

html中的分离式布局,DIV+CSS技术在网页布局中的应用-程序员宅基地

文章浏览阅读814次。摘 要 信息科学技术的进步使得互联网技术行业快速发展起来。其中网页设计作为互联网技术行业中重要的一部分,应用先进技术提高其工作效率与工作质量具有重要意义。DIV+CSS技术在网页布局中的优势作用使得其在网页设计与开发中应用越来越广泛。基于此,本文首先对DIV+CSS技术进行概述,并对其在网页布局中的优势与应用原理进行分析,最后举出网页设计的实例对该项技术的具体应用进行分布阐述。【关键词】DIV C..._布局与样式分离

Spring源码分析——Bean的加载_在spring中bean的创建过程-程序员宅基地

文章浏览阅读240次。Spring版本:5.1.14.RELEASEBean实例创建过程如下图,Bean的创建过程大部分是在docreateBean()里面完成的。_在spring中bean的创建过程

RTT Studio和Cubemx联合开发_rtt cube-程序员宅基地

文章浏览阅读892次。1. RTT studio创建工程创建工程## 创建完成以后的目录结构2. 配置CubuMx双击cubumx的图标打开CubeMx配置时钟生成代码构建后的代码结构编译代码满屏错误:不要慌3. 新增脚本新建scons脚本文件 SConscript脚本内容如下import osfrom building import *cwd = GetCurrentDir()src = Glob('*.c')# add cubemx driverssrc = Split('''_rtt cube

java string 去掉某个字符_JAVA String 如何去掉指定字符-程序员宅基地

文章浏览阅读3.2w次,点赞4次,收藏10次。展开全部i、replace方法该方法的作用是替换字符串中所有指定的字e69da5e6ba9062616964757a686964616f31333337616637符,然后生成一个新的字符串。经过该方法调用以后,原来的字符串不发生改变。例如:Strings=“abcat”;Strings1=s.replace(‘a’,‘1’);该代码的作用是将字符串s中所有的字符a替换成字符1,生成的..._string去掉指定字符

java:手动实现一个IOC_java手写ioc-程序员宅基地

文章浏览阅读749次,点赞3次,收藏11次。面试官特别爱问SpringIOC底层实现,Spring源码晦涩难懂 怎么办呢? 跟着老师手动实现一个mini ioc容器吧,实现后再回头看Spring源码事半功倍哦~,就算直接和面试官讲也完全可以哦,类名完全按照源码设计,话不多说 开干~!手动实现IOC容器的设计需要实现的IOC功能:可以通过xml配置bean信息 可以通过容器getBean获取对象 能够根据Bean的依赖属性实现依赖注入 可以配置Bean的单例多例实现简易IOC设计的类类之间关系模型..._java手写ioc

推荐文章

热门文章

相关标签