• JavaScript 字符串与数字的相互转换


    js字符串转换成数字
    js 字符串转换数字方法主要有三种:转换函数、强制类型转换、利用JS变量弱类型特点进行转换
    1. 转换函数:js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。
    将字符串转换成数字,得用到parseInt函数。
    parseInt(string) : 函数从string的开始解析,返回一个整数。
    举例:
    parseInt("1234blue"); //returns 1234
    parseInt("0xA"); //returns 10
    parseInt("22.5"); //returns 22
    parseInt("blue"); //returns NaN
    如果解析不到数字,则将返回一个NaN的值,可以用isNaN()函数来检测;
    举例 :
    if (isNaN(i))
    {
    console.log('NaN value');
    }
    parseInt()方法还可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示例如下:
    parseInt("AF", 16); //returns 175
    parseInt("10", 2); //returns 2
    parseInt("10", 8); //returns 8
    parseInt("10", 10); //returns 10
    如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。例如:
    parseInt("010"); //returns 8
    parseInt("010", 8); //returns 8
    parseInt("010", 10); //returns 10
    同样的parseFloat函数是将字符串转换成浮点数。
    举例:parseFloat('31.24abc') : 返回 31.24;另外,parseFloat()没有进制的区分。
     
    2. 强制类型转换
    还可使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另一种类型的。
    ECMAScript中可用的3种强制类型转换如下:
    Boolean(value)——把给定的值转换成Boolean型;
    Number(value)——把给定的值转换成数字(可以是整数或浮点数);
    String(value)——把给定的值转换成字符串。
    用这三个函数之一转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。
    当要转换的值是至少有一个字符的字符串、非0数字或对象时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。
    Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。示例如下:
    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
     
    3. 利用js变量弱类型转换
    例:
    <script>
    var str= '012.345 ';
    var x = str-0;
    x = x*1;
    </script>
    上例利用了js的弱类型的特点,只进行了算术运算,实现了字符串到数字的类型转换,不过这个方法还是不推荐的
     
    js数字转换成字符串
    将字符串转换成数字,得用到String类的toString方法
    举例:
    var i = 10;
    var s = i.toString();
    alert(typeof s); //将输出 String
    js数字与字符串的区别
    js的数字的加法与字符串的连接都是 + 符号, 所以究竟是加还是字符串的连接就取决与变量的类型。
    举例:
    var a = 'abc' + 'xyz'; //a的值为:abcxyz,字符串与字符串是连接
    var a = 10 + 5; //a的值为:15,数字是加
    var a = 'abc' + 10; //a的值为:abc10,字符串与数字,自动将10转换成字符串了
    var a = 'abc' + 10 + 20 + 'cd'; //a的值为:abc1020cd
    var a = 10 + 20 + 'abc' + 'cd'; //a的值为:30abccd,可以数字加的先数字加,然后再连接
  • 相关阅读:
    Atitit js nodejs下的进程管理wmic process进程管理
    Atitit 提取sfit特征点,并绘制到原图上
    Atitit 局部图查找大图 方法 与 说明
    Atitit java读取tif文件为空null的解决 图像处理
    Aititi 特征点检测算法与匹配的前世今生与历史传承attilax总结v4
    Atitit it行业图像处理行业软件行业感到到迷茫的三大原因和解决方案
    Atitit js nodejs 图像处理压缩缩放算法 attilax总结
    Atitit 2017年第68界机器视觉图像处理学术大会会议记要attilax总结自建学院自颁学位理论
    Atitit nodejs js 获取图像分辨率 尺寸 大小 宽度 高度
    Atitit 图像处理之编程之类库调用的接口api cli gui ws rest  attilax大总结.docx
  • 原文地址:https://www.cnblogs.com/yzl495/p/4372003.html
Copyright © 2020-2023  润新知