js字符串转换成数字与数字转换成字符串的实现方法


Posted in Javascript onJanuary 08, 2014

js字符串转换成数字

将字符串转换成数字,得用到parseInt函数。
parseInt(string) : 函数从string的开始解析,返回一个整数。

举例:
parseInt('123') : 返回 123(int);
parseInt('1234xxx') : 返回 1234(int);

如果解析不到数字,则将返回一个NaN的值,可以用isNaN()函数来检测;

举例 :
var i = parseInt('abc');
if (isNaN(i))
{
alert('NaN value');
}

同样的parseFloat函数是将字符串转换成浮点数。

举例:parseFloat('31.24abc') : 返回 31.24;

js数字转换成字符串

将字符串转换成数字,得用到String类的toString方法

举例:
var i = 10;
var s = i.toString();
alert(typeof s); //将输出 String

js数字与字符串的区别

js的数字的加法与字符串的连接都是 + 符号, 所以究竟是加还是字符串的连接就取决与变量的类型。

举例:
var a = 'abc' + 'xyz'; //a的值为:abcxyz,字符串与字符串是连接
var a = 10 + 5; //a的值为:15,数字是加
var a = 'abc' + 10; //a的值为:abc10,字符串与数字,自动将10转换成字符串了
var a = 'abc' + 10 + 20 + 'cd'; //a的值为:abc1020cd
var a = 10 + 20 + 'abc' + 'cd'; //a的值为:30abccd,可以数字加的先数字加,然后再连接

补充:

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的弱类型的特点,只进行了算术运算,实现了字符串到数字的类型转换,不过这个方法还是不推荐的

Javascript 相关文章推荐
基于JavaScript 数据类型之Boolean类型分析介绍
Apr 19 Javascript
JavaScript原型链示例分享
Jan 26 Javascript
jQuery使用andSelf()来包含之前的选择集
May 19 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
May 19 Javascript
JS控制静态页面之间传递参数获取参数并应用的简单实例
Aug 10 Javascript
js实现各种复制到剪贴板的方法(分享)
Oct 27 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
Nov 16 Javascript
JS匿名函数实例分析
Nov 26 Javascript
JS限定手机版中图片大小随分辨率自动调整的方法
Dec 05 Javascript
js 获取html5的data属性实现方法
Jul 28 Javascript
vue结合axios与后端进行ajax交互的方法
Jul 06 Javascript
在layer弹层layer.prompt中,修改placeholder的实现方法
Sep 27 Javascript
JS获取计算机mac地址以及IP的实现方法
Jan 08 #Javascript
JavaScript+CSS控制打印格式示例介绍
Jan 07 #Javascript
jquery实现非叠加式的搜索框提示效果
Jan 07 #Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
Jan 07 #Javascript
JSF中confirm弹出框的用法示例介绍
Jan 07 #Javascript
jquery删除提示框弹出是否删除对话框
Jan 07 #Javascript
javascript表单验证使用示例(javascript验证邮箱)
Jan 07 #Javascript
You might like
php,不用COM,生成excel文件
2006/10/09 PHP
php后台程序与Javascript的两种交互方式
2009/10/25 PHP
php程序效率优化的一些策略小结
2010/07/17 PHP
rrmdir php中递归删除目录及目录下的文件
2011/05/15 PHP
php ajax confirm 删除实例详解
2019/03/06 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
保证JavaScript和Asp、Php等后端程序间传值编码统一
2009/04/17 Javascript
javascript 读取图片文件的大小
2009/06/25 Javascript
javascript 全角转换实现代码
2009/07/17 Javascript
JavaScript 高级篇之函数 (四)
2012/04/07 Javascript
页面使用密码保护代码
2013/04/10 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
2013/11/19 Javascript
使用jquery.validate自定义方法实现&quot;手机号码或者固话至少填写一个&quot;的逻辑验证
2014/09/01 Javascript
精通JavaScript的this关键字
2020/05/28 Javascript
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
jQuery实现的隔行变色功能【案例】
2019/02/18 jQuery
解决layui的input独占一行的问题
2019/09/10 Javascript
webpack.DefinePlugin与cross-env区别详解
2020/02/23 Javascript
JS数组降维的实现Array.prototype.concat.apply([], arr)
2020/04/28 Javascript
探索node之事件循环的实现
2020/10/30 Javascript
[47:04]LGD vs infamous Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
浅谈Python程序与C++程序的联合使用
2015/04/07 Python
python下如何查询CS反恐精英的服务器信息
2017/01/17 Python
详解Python中的四种队列
2018/05/21 Python
从0开始的Python学习014面向对象编程(推荐)
2019/04/02 Python
HTML5 Canvas API中drawImage()方法的使用实例
2016/03/25 HTML / CSS
幼儿园中秋节活动方案2013
2014/01/29 职场文书
2014年计生标语
2014/06/23 职场文书
安全标兵事迹材料
2014/08/17 职场文书
教师节标语大全
2014/10/07 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书
见习报告的格式
2014/11/04 职场文书
2015社区爱国卫生工作总结
2015/04/21 职场文书
职工趣味运动会开幕词
2016/03/04 职场文书
年会邀请函的格式及范文五篇
2019/11/02 职场文书