js多种字符串转换数字的方式详解

在js读取文本框或者其他表单数据的时候获得的值是字符串类型的,当我们需要用其他数据类型时就必须要使用数据类型转换了,今天我们就来讲一下js对字符串转换为数字的多种方法!

在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 1234parseInt("0xA"); //returns 10parseInt("22.5"); //returns 22parseInt("blue"); //returns NaN

登录后复制

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

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

登录后复制

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

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

登录后复制

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

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

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

登录后复制

2. 强制类型转换

还可使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换能够訪问特定的值,即使它是还有一种类型的。
ECMAScript中可用的3种强制类型转换例如以下:

1、Boolean(value)——把给定的值转换成Boolean型;
2、Number(value)——把给定的值转换成数字(能够是整数或浮点数);
3、String(value)——把给定的值转换成字符串。

用这三个函数之中的一个转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。
当要转换的值是至少有一个字符的字符串、非0数字或对象(下一节将讨论这一点)时,Boolean()函数将返回true。假设该值是空字符串、数字0、undefined或null,它将返回false。能够用以下的代码段測试Boolean型的强制类型转换。

Boolean(""); //false – empty stringBoolean("hi"); //true – non-empty stringBoolean(100); //true – non-zero numberBoolean(null); //false - nullBoolean(0); //false - zeroBoolean(new Object()); //true – object

登录后复制

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

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

登录后复制

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

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

登录后复制

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

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

var str= '012.345 ';var x = str-0;x = x*1;

登录后复制

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

相关文章推荐:

Js字符串相互转换十六进制的方法

以上就是js多种字符串转换数字的方式详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2784690.html

(0)
上一篇 2025年3月8日 17:13:44
下一篇 2025年3月8日 17:13:52

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • js中字符串使用方法分享

    本文主要和大家分享js中字符串使用方法,文中运用了多个例子,希望能帮助到大家。 1.提取字符串substring() substring() 方法用于提取字符串中介于两个指定下标之间的字符。 语法 stringObject.substrin…

    编程技术 2025年3月8日
    200
  • JS获取form中radio和buttons的选中值

    在js中获取到form表单的radiobuttons的选中值其实和普通的radiobutton的方法是一样的。常用的radiobutton会要求设定radiobutton的name属性和type属性,然后根据这两个属性进行查找,如下: 1 …

    编程技术 2025年3月8日
    200
  • Scrapy与scrapy-splash框架快速加载js页面

    一、前言 我们在使用爬虫程序爬取网页时,一般对于静态页面的爬取是比较简单的,之前写过挺多的案例。但是对于使用js动态加载的页面如何爬取呢? 对于动态js页面的爬取有以下几种爬取的方式: 通过selenium+phantomjs实现。 pha…

    2025年3月8日
    200
  • js判断当前打开浏览器的方式

    我们同一个网页,可能会在PC端打开或者不同的移动端打开,那么,我们想要在不同的设备上打开显示不同的效果,就需要知道当前是以什么方式打开的浏览器。Navigator对象提供的属性可以解决这些问题,Navigator对象包含有关浏览器的信息。 …

    编程技术 2025年3月8日
    200
  • AngularJs watch监听input value并请求数据的方法

    本文主要和大家分享AngularJs watch监听input value并请求数据的方法,希望能帮助到大家。 1、html input菜单和隐藏的控件     * 投放产品        该应用已被商务”{{haveName}}”录入国,…

    2025年3月8日
    200
  • JS原型和原型链详解

    本文主要和大家分享js原型和原型链实例详解,希望能帮助大家对js原型和原型链有一个更清晰的认识。 构造函数(函数名首字母大写):类似一个模版 function Foo(name,age){this.name = name;this.age …

    编程技术 2025年3月8日
    200
  • 原生JS异步和单线程详解

    什么是异步(对比同步),本文主要和大家分享原生js异步和单线程详解,希望能帮助到大家。 //异步console.log(100);setTimeout(function(){console.log(200);},1000);console.…

    编程技术 2025年3月8日
    200
  • JS常用的数组方法总结

    这次给大家带来js常用的数组方法总结,在js中使用数据时注意事项有哪些,下面就是实战案例,一起来看一下。 1、concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。 示例:var array1 = [&#…

    编程技术 2025年3月8日
    200
  • js判断是否是ie浏览器

    怎么去看浏览器的内核等信息 —- js的全局对象window子属性navigator.useragent,这个属性是包含了浏览器信息的相关信息,包括我们需要的浏览器内核 navigator.userAgent这个值取出来是个字符…

    2025年3月8日 编程技术
    200
  • js生成随机数min,max的方法实例

    本文我们主要和大家分享js生成随机数min,max的方法实例,希望能帮助到大家。 一、js的Math(算数)对象知识 通常我们希望得到的数会是整数 而Math.ceil(),Math.floor(),Math.round(),parseIn…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论