在上一章中我们知道在JavaScript代码中,将字符与数值相加时,会将数值转换成字符,也就是说用户输入的数值都被转换成了字符。
现在我们要做这样的例子,我想将1和2相加:
<HTML>
<HEAD>
<TITLE>Hello World</TITLE>
</HEAD>
<BODY BGCOLOR="WHITE">
<SCRIPT Language="JavaScript" TYPE="text/javascript">
var value1="1";
var value2="2"
var intValue=value1+value2;
document.write(intValue);
</SCRIPT>
</BODY>
</HTML>
显然这结果并不是我们想要的,现在我们将代码改成下面的样子:
<HTML>
<HEAD>
<TITLE>Hello World</TITLE>
</HEAD>
<BODY BGCOLOR="WHITE">
<SCRIPT Language="JavaScript" TYPE="text/javascript">
var value1="1";
var value2="2"
var intValue=parseInt(value1)+parseInt(value2);
document.write(intValue);
</SCRIPT>
</BODY>
</HTML>
这结果才是我们想要的,1+2=3
也就是说我们parseInt()就可以把字符类型的转换成数值类型。
如果是输入的值中有数值和字符串时,是否能得到我们想要的数值?
看下下面的代码:
<HTML>
<HEAD>
<TITLE>Hello World</TITLE>
</HEAD>
<BODY BGCOLOR="WHITE">
<SCRIPT Language="JavaScript" TYPE="text/javascript">
var value1="2.34abc";
var intValue=parseInt(value1);
document.write(intValue);
</SCRIPT>
</BODY>
</HTML>
的确能获得一个数值,但得到的是2并不是2.34,这是因为parseInt()函数它解析到的不是有效数值时会停止解析,当解析到.(点号)时就停止了解析,那现在我们怎样才能获取到2.34,看下面的代码:
<HTML>
<HEAD>
<TITLE>Hello World</TITLE>
</HEAD>
<BODY BGCOLOR="WHITE">
<SCRIPT Language="JavaScript" TYPE="text/javascript">
var value1="2.34abc";
var intValue=parseFloat(value1);
document.write(intValue);
</SCRIPT>
</BODY>
</HTML>
通过代码我们可以知道,使用parseFloat()函数可以解析到一个浮点数,也就是我们想要得到的数值,
接下来看一个特例,如果输入的字符串中并没有有效的数值时,那使用这两个函数会得到什么,看下面代码:
<HTML>
<HEAD>
<TITLE>Hello World</TITLE>
</HEAD>
<BODY BGCOLOR="WHITE">
<SCRIPT Language="JavaScript" TYPE="text/javascript">
var value1="abc";
var intValue=parseFloat(value1);
document.write(intValue);
var value2="daf";
var floatValue=parseFloat(value2);
document.write("\n"+floatValue);
</SCRIPT>
</BODY>
</HTML>
NaN值是JavaScript中的特殊值,表示不是一个数值。
转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/40892573 情绪控_