您所在的位置: 首页 > 读书频道 > 设计开发 > .Net系列 >

5.8.2 数值处理函数

http://book.51cto.com  2008-04-01 21:07  冯曼菲  人民邮电出版社  我要评论(0)
  • 摘要:《精通Ajax——基础概念、核心技术与典型案例》主要介绍Ajax技术的组成元素,涉及JavaScript、CSS、DOM、XMLHTTP和XML等内容,其中详细介绍了JavaScript客户端语言,它是Ajax技术的核心组成,是提高客户端性能不可缺少的元素。本文介绍了数值处理函数。
  • 标签:Ajax  .NET

5.8.2  数值处理函数

数值处理函数主要有:将其他类型转换为数值型(parseInt和parseFloat),判断变量是否是数值型(isNaN)。本节将介绍这三种处理函数。

·parseInt方法
parseInt方法将一个字符串指定的进制,转换成一个整数,其语法格式如下所示。

parseInt(numString,[radix])

参数“numString”是要进行转换的字符串。参数“radix”可选,是介于2~36之间的一个数值,用于指定进行字符串转换时所用的进制。如果没有指定参数“radix”,则前缀为“0x”的字符串被视为十六进制,前缀为“0”的字符串被视为八进制,所有其他字符串都被视为十进制。

要转换的字符串中可以包含非数字字符。如果其中包含无法转换成数字的字符,那么parseInt方法,只取这个字符前面的部分进行转换。例如parseInt("12abc")的返回结果为12。如果parseInt方法完全无法将一个字符串转换成数字,将返回NaN(not a number)。NaN需要使用isNaN方法才能检测出。
光盘文件5.22.htm的代码演示了上面介绍的一些常见知识,代码如下。通过运行测试结果。

<Script language="javascript">
<!--
//下面是同一个数用不同进制表示时在默认情况下的举例
document.write("默认情况下的结果:");
document.write("68:"+parseInt('68'));
document.write(";068:"+parseInt('068'));
document.write(";0x68:"+parseInt('0x68')+"<br>");
//下面是同一个数用不同进制表示时在转为2进制的举例
document.write("转为2进制的结果:");
document.write("68:"+parseInt('68',2));
document.write(";068:"+parseInt('068',2));
document.write(";0x68:"+parseInt('0x68',2)+"<br>");
//下面是同一个数用不同进制表示时在转为8进制的举例
document.write("转为8进制的结果:");
document.write("68:"+parseInt('68',8));
document.write(";068:"+parseInt('068',8));
document.write(";0x68:"+parseInt('0x68',8)+"<br>");
//下面是同一个数用不同进制表示时在转为18进制的举例
document.write("转为18进制的结果:");
document.write("68:"+parseInt('68',18));
document.write(";068:"+parseInt('068',18));
document.write(";0x68:"+parseInt('0x68',18)+"<p>");
//下面是对一个2进制数转换为不同进制的举例
document.write("11001010转换后的结果: "+"<br>");
document.write("2进制:"+parseInt('11001010',2));
document.write(";18进制:"+parseInt('11001010',18)+"<br>");
document.write("8进制:"+parseInt('11001010',8));
document.write(";10进制:"+parseInt('11001010',10));
//下面是对不全是数字情况下转换的举例
document.write("<p>43abc转换后:"+parseInt('43abc'));
document.write(";abc43转换后:"+parseInt('abc43'));
document.write(";abc转换后:"+parseInt('abc'));
//-->
</script>

程序的运行结果如图5.22所示。

 
图5.22  5.22.htm的运行结果

·parseFloat方法

parseFloat方法将一个字符串转换成对应的小数。如下面的代码中,由于tempStr是一个字符串“2.8”,表达式tempStr +1中的加号(+)表示把字符串2.8与整数1相连成一个新的字符串,即“2.81”。而parseFloat(tempStr)将tempStr转换成了一个小数,这时parseFloat(tempStr)+1中的加号(+)表示两个数值的相加,对应的结果就是3.8。

<Script language="javascript">
<!--
var tempStr="2.8";
alert((tempStr +1)+"\n"+(parseFloat(tempStr)+1)); //转换并输出
//-->
</script>

脚本程序执行的结果如图5.23所示。

 
 图5. 23  执行结果

·isNaN方法

isNaN方法用于检测parseInt和parseFloat方法的返回值是否为NaN。如果是isNaN返回值为true,否则返回false。光盘文件5.23.htm是一个isNaN方法应用的例子,代码如下。

<Script language="javascript">
<!--
var str = parseInt('xyz468');  //parseInt方法应用后的结果赋值给a
if(isNaN(str)){ //如果str不是数值,执行下面的语句,否则下面语句不会执行
alert("转换后的结果是"+parseInt(' xyz468'));
}
//-->
</script>

程序运行的结果如图5.24所示。

 
图5.24  5.23.htm的运行结果

回书目   上一节   下一节
专题:ASP.NET 2.0基础开发指南
.NET移动与嵌入式技术专题
.NET Framework新手入门专题
VS.NET实用开发专题
ADO.NET实用技巧专题
 
 验证码: (点击刷新验证码)   匿名发表
  • 网络工程师考试案例动手实验营

  • 作者:郭春柱
  • 本书依据2009年版《网络工程师考试大纲》的考核要求,深入研究了历年网络工程师考试试题的命题风格和试题结构,对考查的知识点..
Copyright©2005-2008 51CTO.COM 版权所有