web前端:强制类型转换规则

    作者:空k 更新于: 2020-03-05 21:36:49

    Web开发

      隐式类型转换发生在赋值表达式和有返回值的函数调用表达式中。在赋值表达式中,如果赋值符左右两侧的操作数类型不同,则将赋值符右边操作数强制转换为赋值符左侧的类型数值后,赋值给赋值符左侧的变量。

      强制类型转换:

      字符转数值

      parseInt();从左向右一次转换,能转则转,不能转停止;如果第一位就不能转,直接NaN;不识别小数点。

      parseFloat();等同于parseInt,同时可以识别小数点

      Math.round();严格转换,不允许出现任何非数字的字符,否则NaN;取最接近的整数

      Number();严格转换,不允许出现任何非数字的字符,否则NaN;直接转换

      varstr="123";

      varstr="123abc";

      varstr="123abc456";

      varstr="a123";

      varstr="adasd";

      varstr="123.45";

      varn=parseInt(str);

      console.log(str);

      console.log(typeofstr);

      console.log(n);

      console.log(typeofn);

      varstr="a567.892";

      varn=parseFloat(str);

      console.log(str);

      console.log(typeofstr);

      console.log(n);

      console.log(typeofn);

      varstr="-456.789";

      varn=Math.round(str);

      console.log(str);

      console.log(typeofstr);

      console.log(n);

      console.log(typeofn);

      varstr="-456.789a";

      varn=Number(str);

      console.log(str);

      console.log(typeofstr);

      console.log(n);

      console.log(typeofn);

      数值转字符

      toString();直接转换,相当于给要转换的数值,加引号

      保留n为小数

      toFixed();加引号的同时,四舍五入保留n位小数,不够,补零

      varn=10.3543;

      vars=n.toString();

      console.log(n);

      console.log(typeofn);

      console.log(s);

      console.log(typeofs);

      varn=10;

      vars=n.toFixed(2);

      console.log(n);

      console.log(typeofn);

      console.log(s);

      console.log(typeofs);

      console.log(123.567000000)

      数值转字符

      varn=123;

      vars=n+"";

      console.log(s)

      字符转数值

      vars="123";

      varn=s-0;

      console.log(n)

      ==================================

      其他转数值

      true为1,false为0

      console.log(1+true);//2

      console.log(1+false);//1

      console.log(1+undefined);//NaN

      console.log(1+NaN);//NaN

      console.log(1+null);//1

      C++中强制类型转换函数有4个:const_cast(用于去除const属性),static_cast(用于基本类型的强制转换),dynamic_cast(用于多态类型之间的类型转换),reinterpreter_cast(用于不同类型之间的指针之间的转换,最常用的就是不同类型之间函数指针的转换)。

课课家教育

未登录

1