javascript主要有以下三种数据类型转换方式:
转换函数:parseInt()和parseFloat()分别将值转换成整数和浮点数。
强制类型转换:Boolean(value)、Number(value)、String(value)将给定的值分别转换成逻辑值、数字(整数或浮点数)及字符串。
弱类型自动转换:字符串与数字进行数学操作符运算时,字符串会自动转为数字。
实例演示:将文本框的值转化成数值型
var a = document.getElementById("num1").valuevar b = document.getElementById("num2").value
var c1 = parseFloat(a) + parseFloat(b) // 函数转换
var c2 = Number(a) + Number(b) // 强制类型转换
var c3 = a*1 + b*1 // a*1将自动转化为数字类型
小数的话用parseFloat,整数用parseInt。
举个例子:
var myArr=new Array()myArr[0]="1"
myArr[1]="2.1"
var ma0=parseInt(myArr[0])//myArr[0]中字符串是整数,用parseInt。
var ma1=parseFloat(myArr[1])//myArr[1]中字符串是小数,用parseFloat。
返回结果:ma0=1,ma1=2.1。
当然,也可以对调过来:
var myArr=new Array()myArr[0]="1"
myArr[1]="2.1"
var ma0=parseFloat(myArr[0])
var ma1=parseInt(myArr[1])
返回结果:ma0=1.0,ma1=2。
复杂一点的:
var myArr=new Array()myArr[0]="1ABC"
myArr[1]="2.1DEF"
var ma0=parseFloat(myArr[0])
var ma1=parseInt(myArr[1])
返回结果:ma0=1,ma1=2.1。
但如果是:
var myArr=new Array()myArr[0]="ABC1"
myArr[1]="DEF2.1"
var ma0=parseFloat(myArr[0])
var ma1=parseInt(myArr[1])
返回结果:ma0=null,ma1=null。因为parseInt和parseFloat只能读取字符串前面的数字。