javacript 字符和数字互相转换

来源:互联网 发布:凡科如何绑定域名 编辑:程序博客网 时间:2024/06/03 12:45

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"
  • 2、字符串转换为数字

    • a. :把Number()构造函数作为一个函数来调用:

      var number = Number(string_value); Number(false) 0Number(true) 1Number(undefined) NaNNumber(null) 0Number( "5.5 ") 5.5Number( "56 ") 56Number( "5.6.7 ") NaNNumber(new Object()) NaNNumber(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.0parseFloat("0xA"); //returns NaNparseFloat("22.5"); //returns 22.5parseFloat("22.34.5"); //returns 22.34parseFloat("0908"); //returns 908parseFloat("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 stringBoolean("hi"); //true – non-empty stringBoolean(100); //true – non-zero numberBoolean(null); //false - nullBoolean(0); //false - zeroBoolean(new Object()); //true – objectBoolean(undefined) // false
  • 3、利用js变量弱类型转换
var str = '12.345'// 有效var str = '123.4.4'//NaNvar str = '12r3'//NaNvar 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)