javacript 字符和数字互相转换
- 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); // "10001"
octal_string = "0" + n.toString(8); // "021"
hex_string = "0x" + n.toString(16); // "0x11"
- d.toFixed()方法把一个数字转换为字符串,并且显示小数点后的指定的位数。它不使用指数表示法。
var n = 123456.789;
n.toFixed(0); // "123457"
n.toFixed(1); // "123456.8"
- e. toExponential()使用指数表示法把一个数字转换为字符串,小数点前面有1位数,而小数点后面有特定的位数。
var n = 123456.789;
n.toExponential(0); // "1e+5"
n.toExponential(1); // "1.2e+5"
- a. 要把一个数字转换为字符串,只要给它添加一个空的字符串即可:
2、字符串转换为数字
a. :把Number()构造函数作为一个函数来调用:
var number = Number(string_value); Number(false) 0 Number(true) 1 Number(undefined) NaN Number(null) 0 Number( "5.5 ") 5.5 Number( "56 ") 56 Number( "5.6.7 ") NaN Number(new Object()) NaN Number(100) 100
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) 如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值 parseInt("010"); //returns 8 默认八进制 parseInt("077", 8); // Returns 63 (7 * 8 + 7) parseInt("077", 10); // Returns 77 (7 * 10 + 7)
c. parseFloat()截取整数和浮点数。使用parseFloat()方法的另一不同之处在于,字符串必须以十进制形式表示浮点数,parseFloat()没有基模式
parseFloat("3.14 meters"); // Returns 3.14 parseFloat("1234blue"); //returns 1234.0 parseFloat("0xA"); //returns NaN parseFloat("22.5"); //returns 22.5 parseFloat("22.34.5"); //returns 22.34 parseFloat("0908"); //returns 908 parseFloat("blue"); //returns NaN 如果parseInt()和parseFloat()不能够把指定的字符串转换为数字,它们就会返回NaN: parseInt(''eleven"); // Returns Nan parseFloat("$72.47"); // Returns NaN
d. Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。
Boolean(""); //false – empty string Boolean("hi"); //true – non-empty string Boolean(100); //true – non-zero number Boolean(null); //false - null Boolean(0); //false - zero Boolean(new Object()); //true – object Boolean(undefined) // false
- 3、利用js变量弱类型转换
var str = '12.345'// 有效
var str = '123.4.4'//NaN
var str = '12r3'//NaN
var str= '012.345 ';
var x = str-0;
x = x*1;
- 4\额外知识点: JavaScript取整的方法
- a.丢弃小数部分,保留整数部分
parseInt(5/2)
- b.向上取整,有小数就整数部分加1
Math.ceil(5/2)
- c.向下取整
Math.floor(5/2)
- d.四舍五入
Math.round(5/2)
- a.丢弃小数部分,保留整数部分