jquery怎么把字符串转成数字

2024-11-07 18:46:23
推荐回答(5个)
回答1:

首先,JS中巴字符串转换成数字,并不需要jquery

  • 对于符合number格式的字符串,最简单的方法如下:

var numStr = '99.9';// 或者是整形 '999'
// 只要在字符串前面加“+”符号就可以把string类型转换成number类型了
var num = +numStr;
  • 对于某些结尾处追加不合法字符串的字符串,需要用parseInt或者parseFloat

// 对于整形:
var integer = '99%';
var result = parseInt(integer);

// 对于浮点型
var decimal = '99.9%';
var result = parseFloat(decimal);

对于其他进制的数字字符串

// 作为二进制
var binary = '1001';
var result = parseInt(binary, 2);

// 作为八进制
var octonary = '077';
var result = parseInt(octonary, 8);

// 作为十六进制
var hex = '0xff';
var result = parseInt(hex, 16);

回答2:

parseInt(string) 、parseFloat()、Number()

1、parseInt(string) : 这个函数的功能是从string的开头开始解析,返回一个整数,说起来比较笼统,下面来看几个实例,大家就明白了:

parseInt("1234blue"); //returns 1234

parseInt("123"); //returns 123

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

2、parseFloat():这个函数与parseInt()方法的处理方式相似。

使用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

3、Number():强制类型转换,与parseInt()和paseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。

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

回答3:

var x=parseInt($("#text1").val());

回答4:

parseInt("111");

回答5:

num1 = parseFloat($("#id").val());
JS 中转换函数有两个 parseInt()和parseFloat() 前者将字符串转换为int类型 后者转换为float类型
追加一点小技巧
在js里 其实也可以这么做将字符串转为数字
num1 = $("#id").val() - 0;
取到的字符串减0也可以转为数字类型 加0是不行的 因为+操作符存在类似过载的情况,不知道js里是不是叫操作符过载