在上一章中我们知道在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
情绪控_
原文:http://blog.csdn.net/hai_qing_xu_kong/article/details/40892573