JavaScript 数字与字符串互转

JavaScript 数字与字符串互转大法(雾)

数字转字符串

number.toString(); 目前只知道这个,感觉很实在 = =

var num = 12;
console.log(typeof (num.toString())); //String
字符串转数字
  1. 利用 js 变量弱转换,比如: “12” - 0 = 12(number)
  2. 转换函数,字符串 —> 数字 ( 非数字类型的字符串转换后获得 NaN)
    2.1 parseInt(string,radix);
    将一个字符串 string 转换为 radix 进制的整数,radix 为介于2-36之间的数。
console.log(parseInt("1"));       // 1
console.log(parseInt("-1"));      // -1
console.log(parseInt("2.333"));   // 2
console.log(parseInt("12apple")); // 12,有数字字符串在内
console.log(parseInt("apple"));   // NaN,非数字字符串
console.log(parseInt(true));      // NaN,非 string

console.log(parseInt("0xF",16)); // 15
console.log(parseInt("10",2));   //2

2.2 parseFloat(string);
函数解析一个参数(必要时先转换为字符串)并返回一个浮点数。

console.log(parseFloat("2.333"));      // 2.333
console.log(parseFloat("-2.333"));     // -2.332
console.log(parseFloat("2.333apple")); // 2.333
console.log(parseFloat(true));         // NaN,非 String

  1. 强制类型转换
  • Boolean(value)
console.log(typeof null);      // object
console.log(typeof undefined); // undefined
console.log(typeof "");        // string

console.log(Boolean(null));      //false
console.log(Boolean(undefined)); //false
console.log(Boolean(""));        //false
console.log(Boolean(0));         //false
console.log(Boolean(false));     // false,false 可以等同 0
console.log(Boolean());          // false

// 只要 value 里面有起码一个字符的字符串、非 0 数字、对象,都返回 true
console.log(Boolean("0" + null));      //true
console.log(Boolean("0" + undefined)); //true
console.log(Boolean("0" + ""));        //true
console.log(Boolean("0" + 0));         //true
console.log(Boolean(new Object()));    //true
console.log(Boolean({}));              //true
console.log(Boolean([]));              //true
  • Number(object)
console.log(Number(true));             // 1
console.log(Number(""));               // 0
console.log(Number([]));               //0
console.log(Number(null));             //0
console.log(Number("2.333"));          // 2.333,数字字符串
console.log(Number("2.333.333"));      // NaN,这时候不是数字字符串,不存在2.333.333数字,返回 NaN
console.log(Number("apple"));          // NaN,这时候不是数字字符串,不存在2.333.333数字,返回 NaN
console.log(Number("2.333apple"));     // NaN,不存在 2.333apple 数字,返回 NaN
console.log(Number(undefined));        //NaN,转了之后非数字,返回 NaN
console.log(Number(new Object()));           //NaN,转了之后非数字,返回 NaN
console.log(Number({}));               //NaN
  • String(value)
console.log(String(null));             // "null"
console.log(String(undefined));        // "undefined"
console.log(String([]));               // ""(打印空)
console.log(String({}));               // "[object Object]"
console.log(String(true));             // "true"

注意:
JS 中值的类型分为原始值类型对象类型

  1. 原始值类型包括 number, string, boolean, null 和 undefined;(运用 n sb un ‘你傻逼哇’来记忆,好像有点傻:))
  2. 对象类型即 object。原始值类型它就不是对象。
  3. 另外,要注意 ‘hello’ 和 new String(‘hello’) 的区别,前者是字符串字面值,属于原始类型,而后者是对象。
    // 用 typeof 运算符返回的值也是完全不一样的:
typeof 'apple';  // 'string'
typeof new String('apple');  // 'object'

第一行是直接字面值,第二行是 String 对象。
当第二行的 ‘apple’.length 可以获得值 5,是因为 js 内部将其包装为 string 对象,执行完毕之后就把这个对象扔掉啦,并不是说这个时候他就是 String 对象,这个情况称之为装箱。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值