网站地图    收藏   

主页 > 前端 > javascript >

javascript字符串转数字方法详解

来源:自学PHP网    时间:2014-09-19 14:47 作者: 阅读:

[导读] 字符串转数字如果是在php中直接使用intval就可以强制转换了,那么在js中字符串转数字要如何操作呢,下面我来给大家介绍javascript字符串转数字方法,有需要了解的同学可参考。...

在JavaScript中,Double类型和Int类型都是看作为Number对象,因此无论是typeof 1还是typeof 1.0,都是返回number。这样我们可以不用去管是Int还是Double类型,让JavaScript解释引擎内部去处理。

•如果要把Number转换成String,可以使用Number的toString()方法,(象(1).toString()括号必须或者 1 .toString()空格必须,否则会编译出错,如果是变量则无需),或者调用String()函数,这两种方法都会自动调用解释引擎内部的 NumberToString(),或者根据进制调用其它函数,基本类似。
•如果要把String转换成Number,可以使用Number()函数,他会自动判断String中是整数还是浮点数,然后内部使用相应的数据类型,另外可以使用全局函数parseInt()和parseFloat(),他们根据你的要求进行转换。同样的,他们在解释引擎内部机制上是使用了 StringToNumber,StringToInt等等内部的函数。
•而如果是Double转换成Int,必须使用Math.floor()函数(截尾取整)或者Math.round()(四舍五入)
•Int转换成Double,无须考虑任何问题,直接把Int当成Double进行运算

注:Number、String函数是特殊的函数,在JS引擎中,他会自动判断是作为构造函数调用还是普通调用,所以既可以使用new关键字,也可以作为函数直接调用。
关于JS的参考手册,微软有一个CHM十分不错,指南、API参考都有,是Windows脚本技术,中文版,我在MSDN上下载的。而关于JS解释引擎的,我参考的是Netscape的Spidermonkey,现在由Mozilla组织维护
 

 代码如下 复制代码

for(i=0;i<this.all.length;i++){
   vTotal+=Number(this.all[i].Value);
  
  }

得出是数字的累加

在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');
}


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

一些示例如下:

 代码如下 复制代码


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函数是将字符串转换成浮点数。
举例:parseFloat('31.24abc') : 返回 31.24;

js数字转换成字符串

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

 代码如下 复制代码
var i = 10;
var s = i.toString();
alert(typeof s); //将输出 String

代码如下:

 代码如下 复制代码

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


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,可以数字加的先数字加,然后再连接

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论