一、“字符串”转换为“数字”的两种方法:
(1)Number();
Number()方法可以将任何只有数字的字符串转换为数字。如“123”,“3.14”。
<script>
var a = Number("2022") + 1000;
document.write(a + "<br/>");
document.write("Number(\"hao123\"):" + Number("hao123") + "<br/>");
document.write("Number(\"654321\"):" + Number("654321") + "<br/>")
</script>
结果为:
NaN表示这是一个"Not a Number(非数字)"。
(2)parseInt()和parseFloat();
parseInt()和parseFloat()是提取首字母为数字的任意字符串中的数字。其中 parseInt()提取的是整数部分,parseFloat()不仅会提取整数部分,还会提取小数部分。
<script>
// parseInt()
document.write("parseInt(\"+123\"): " + parseInt("+123") + "<br/>");
document.write("parseInt(\"-123\"): " + parseInt("-123") + "<br/>");
document.write("parseInt(\"654321\"): " + parseInt("3.1415e") + "<br/>");
document.write("parseInt(\"hao123\"): " + parseInt("hao123") + "<br/>");
document.write("-----------------------------------"+ "<br/>");
// parseFloat()
document.write("parseFloat(\"+123\"): " + parseFloat("+123") + "<br/>");
document.write("parseFloat(\"-123\"): " + parseFloat("-123") + "<br/>");
document.write("parseFloat(\"654321\"): " + parseFloat("3.1415e") + "<br/>");
document.write("parseFloat(\"hao123\"): " + parseFloat("hao123"));
</script>
结果:
第一个字符是非数字,则直接返回NaN。但第一个字符是加号(+)或减号(-), parseInt()和parseFloat()是可以转换的。
注意:
(1)如果是在document.write()中换行,应该用<br/>。
(2)如果是在alert()中换行,则应该用\n。
二、“数字”转换为“字符串”的两种方法:
(1)与空字符串相加
数字 + 字符串 = 字符串
<script>
var a = 2022 + "";
var b = a + 1000;
document.write(b);
</script>
结果:20221000
(2)toString()
<script>
var a = 2022;
var b = a.toString() + 1000;
document.write(b);
</script>
结果:20221000