js字符转换数字
如果要把String转换成Number,可以使用Number()函数,他会自动判断String中是整数还是浮点数,然后内部使用相应的数据类型,另外可以使用全局函数parseInt()和parseFloat(),他们根据你的要求进行转换。同样的,他们在解释引擎内部机制上是使用了 StringToNumber,StringToInt
Number 对象是原始数值的包装对象。
创建 Number 对象的语法:
var myNum=new Number(value);
var myNum=Number(value);参数
参数 value 是要创建的 Number 对象的数值,或是要转换成数字的值。
实例
<script>
if( $('love_za').value >5 )
{
document.write('大于5'); //
}
else
{
document.write('小于5'); //
}
</script>
<input value='15' id='love_za' />
输出结果是小于5,这会是什么原因呢,我们再看一个实例
<script>
if( Number($('love_za').value) >5 )
{
document.write('大于5'); //
}
else
{
document.write('小于5'); //
}
</script>
输出结果为大于5
原因分析,之前是字符比较所以5的ascii码肯定大1这样,就输出一小于5,而下面输出是大于5这是利用了Number把字符串转换成了数字。
注:js是弱类型语言,浮点数计算就会出现如下问题
var value = new Number("1111111111111111.3333");
它的值变为:1111111111111111.4
var value = new Number("9999999999999999.9999");
变为: 10000000000000000
看看另一函数parseInt()
如,如果要把字符串 "1234blue "转换成整数,那么parseInt()将返回1234,因为当它检测到字符b时,就会停止检测过程。字符串中包含的数字字面量会被正确转换为数字,因此字符串 "0xA "会被正确转换为数字10。不过,字符串 "22.5 "将被转换成22,因为对于整数来说,小数点是无效字符。一些示例如下:
parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN
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
补充:网页制作,js教程