当前位置:编程学习 > JS >>

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教程 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,