javacript 字符和数字互相转换

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) 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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值