微信小程序数据类型转换

微信小程序数据转换就是JS方法转换:

1.字符串转float  int
parseFloat("字符串内容"); //将字符串值转成浮点数
parseInt("字符串内容"); //将字符串值转成整数
此外 parseFloat()

(1) 如果字符串0位置的值不是数字 ,会返回 NAN

(2) 如果有两个小数点,则返回第二个小数点前的数字

(3) 如果字符串中有不是数字的值,会返回字符串不是数字的前面的值

(4)不能解析 别的进制的值

    parseFloat("sss");   //returns    NaN  
    parseFloat("11.11.11");   //returns   11.11 
    parseFloat("1111sss111");   //returns   1111   
    parseFloat("AF");   //returns    NaN   
    parseFloat("11.11");   //returns    11.11  
    parseFloat("011.11");   //returns    11.11   
对于parseInt()

(1) 如果字符串0位置的值不是数字 ,会返回 NAN

(2) 如果有小数点,则返回小数点前的数字,小数点是无效字符

(3) 如果字符串中有不是数字的值,会返回字符串不是数字的前面的值

(4)解析 别的进制的值 需要传值两个参数

    parseInt("sss");   //returns    NaN  
    parseInt("11.11.11");   //returns   11
    parseInt("1111sss111");   //returns   1111 
    //以防以0开头的数字被默认为8进制(测试没有问题)最好加上10
    parseInt("011");   //returns    11 
    parseInt("011",10);   //returns    11  
    //解析别的进制值 
    parseInt("0x321");    //returns   801 因为0x默认为16进制  
    parseInt("AB");   //returns    NaN  
    parseInt("AB",16);   //returns    171   
    parseInt("AB", 11);  //returns    10
    parseInt("2",2);   //returns    NaN 因为2对于2进制数是不合法的  
    parseInt("10", 2);   //returns    2 
    parseInt("10", 8);   //returns    8
    parseInt("10", 10);   //returns    10
    parseInt("10", 16);   //returns    16
    parseInt("a", 16);   //returns    10
2.强制类型转换
String(value);   //把给定的值转换成字符串
Boolean(value);   //把给定的值转换成Boolean型; 
Number(value);   //把给定的值转换成数字(可以是整数或浮点数); 
对于String()

(1)传递的值都会变为字符串 类似于toString()方法  但是和它又不同 对null或undefined值 ,toString()会报错

    String(new Object());   //returns    [object Object]  
    String(110);   //returns   110
    String(null);   //returns   null
    null.toString();   //报错    TypeError: Cannot read property 'toString' of null
   
对于Boolean()

(1)给定的值为  空字符串、数字0、undefined或null  返回false

(2)给定的值 长度大于0的字符串、第一个数字非0数字、对象  返回true

    Boolean("");   //returns    false  
    Boolean(0);   //returns   false
    Boolean(undefined);   //returns   false
    Boolean(null);   //returns   false
 
    Boolean(011);   //报错  unknown: Invalid number
    Boolean(110);   //returns   true
    Boolean(new Object());   //returns   true
    Boolean("sssss");   //returns   true
对于Number()

(1)转换的是整个给定的值,给定的值有不合法字符  则返回NaN  (与parseInt()和parseFloat()方法有区别)

(2)不能识别别的进制

    Number(011);   //报错 unknown: Invalid number
    Number("011");   //returns 11 
    Number(0);   //returns 0 
    Number("11.11");   //returns  11.11 
    Number("11.11.11");   //returns  NaN 
    Number("11");   //returns  11 
    Number("11ss");   //returns  NaN 
    Number(null);   //returns  0 
    Number(new Object());   //returns  NaN 
    Number(undefined);   //returns  NaN 
    Number(false);   //returns  0 
    Number(true);   //returns  1 
 
    Number("A", 16);  //returns  NaN
3.保留几位小数点:四舍五入
NumberObject.toFixed(位数);//
对于.toFixed()

(1)参数为保留的小数点后位数

(2)返回的值为String 类型

    13.37.toFixed(4);   //returns   13.3700
    13.toFixed(4);  // 报错  unknown: Identifier directly after number
    Number(13).toFixed(0);   //returns   13
    13.378888.toFixed(2);   //returns   13.38
    13.378888.toFixed(2)+3;   //returns   13.383
4.获取几位数 :四舍五入 toPrecision()
对于.toPrecision()

(1)参数为保留的位数

(2)返回的值为String 类型

(3)对象的值超出指定位数时将其转换为指数计数法。

    Number(135).toPrecision(1);  //returns   1e+2
    Number(135.77).toPrecision();  //returns   135.77
    13.37.toPrecision(2);   //returns   13
    3.1415.toPrecision(4);  //returns    3.142
    3.1415.toPrecision(8);  //returns    3.1415000
————————————————
版权声明:本文为CSDN博主「shan_zwq」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shanshan_1117/article/details/89371296

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值