1. 数字转换为字符串
a. 要把一个数字转换为字符串,只要给它添加一个空的字符串即可:
var n = 100;
var n_as_string = n + \"\";
b. 要让数字更加显式地转换为字符串,可以使用String()函数:
var string_value = String(number);
c. 使用toString()方法:
string_value = number.toString();
Number对象的(基本的数字转换为Number对象,以便可以调用这个方法)toString()方法有一个可选的参数,该参数用来指定转换的基数。如果不指定这个参数,转换会以10为基数进行。然而,也可以按照其他的基数(2到36之间的数)来转换数字。
例如:
var n = 17;
binary_string = n.toString(2); // Evaluates to \"10001\"
octal_string = \"0\" + n.toString(8); // Evaluates to \"021\"
hex_string = \"0x\" + n.toString(16); // Evaluates to \"0x11\"
d. toFixed()方法把一个数字转换为字符串,并且显示小数点后的指定的位数。它不使用指数表示法。
var n = 123456.789;
n.toFixed(0); // \"123457\"
n.toFixed(1); // \"123456.79\"
e. toExponential()使用指数表示法把一个数字转换为字符串,小数点前面有1位数,而小数点后面有特定的位数。
var n = 123456.789;
n.toExponential(1); // \"1.2e+5\"
n.toExponential(3); // \"1.235e+5\"
f. toPrecision()使用指定的有意义的位数来显示一个数字,如果有意义的位数还不够显示数字的整个整数部分,它就使用指数表示法。
var n = 123456.789;
n.toPrecision(4); // \"1.235e+5\"
n.toPrecision(7); // \"123456.8\"
2. 字符串转换为数字
a. 将一个字符串转换为数字的一种缺少些技巧但是很清楚明白的方法就是:把Number()构造函数作为一个函数来调用:
var number = Number(string_value);
b. parseInt()只截取整数,如果一个字符串以\"0x\"或\"0X\"开头,parseInt()将其解析成为一个十六进制的数字,parseInt()甚至可以接受一个参数来指定要解析的数字的基数,合法的值在2到36之间。
parseInt(\"3 blind mice\"); // Returns 3
parseInt(\"12.34\"); // Returns 12
parseInt(\"0xFF\"); // Returns 255
parseInt(\"11\", 2); // Returns 3 (1 * 2 + 1)
parseInt(\"ff\", 16); // Returns 255 (15 * 16 + 15)
parseInt(\"zz\", 36); // Returns 1295 (35 * 36 + 35)
parseInt(\"077\", 8); // Returns 63 (7 * 8 + 7)
parseInt(\"077\", 10); // Returns 77 (7 * 10 + 7)
c. parseFloat()截取整数和浮点数。
parseFloat(\"3.14 meters\"); // Returns 3.14
d. 如果parseInt()和parseFloat()不能够把指定的字符串转换为数字,它们就会返回NaN:
parseInt(\'\'eleven\"); // Returns Nan
parseFloat(\"$72.47\"); // Returns NaN
3 JavaScript取整的方法
a.丢弃小数部分,保留整数部分
parseInt(5/2)
b.向上取整,有小数就整数部分加1
Math.ceil(5/2)
c.向下取整
Math.floor(5/2)
d.四舍五入
Math.round(5/2)