办法,使用parseInt(var i)强制转型。
因为js中变量是可以任意赋值的(不用担心类型),但是int型一旦被改为字符串后,在调用int的加法运算时,就会变成了字符串的连接运算。如下所示:
<script language="javascript"><!--
var i=1
alert(i+1)//结果为2
var j="1"
alert(j+1)//结果为11
//-->
</script>
此时如果想要将j转换为int并且执行加法,需要将j强制转换为int,具体方法如下:
alert(parseInt(j)+1)此时的结果就会是2了。
通过Integer.valueOf(String)方法把string转换成int方法。
例如:
<%String str = "13"//定义一个字符串str
int a = Integer.valueOf(str)//把字符串转换成整型a
%>
解释:
valueOf方法将传入的参数String转化为int型值
返回该值,如果String并不是纯粹由数字构成即无法转化为数字,则抛出NumberFormatException..
js是弱类型的脚本语言,它明面上是只支持一种类型即动态类型,其后才是string、number等子类型,你给一个动态类型的变量赋值什么类型的数据,它就会自动变为什么类型,而且同一个变量可以在各种类型间切换。看下面的例子:
var ss="abc"
alert(typeof s) //显示为string
s=123.5
alert(typeof s) //显示为number
另外,在js中是没有int这样的类型的,所有数字类型都是number。
如果你的目的是想把一个字符串类型(string)的数字转换为数值型(number)的整数数字,可以用 parseInt 函数:
var ss="1234"
alert(typeof s) //显示为string
s=parseInt(s)
alert(typeof s) //显示为number