JS数字计算、处理常用函数

1、数字转换

1、Number(object):把object转化为数字。如果参数是 Date 对象,Number() 返回从1970年1月1日至今的毫秒数。如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。

在JS里做加法运算的时候,运算结果总是会变成字符串拼接。这个函数就是用来解决这个问题的,例如:var c=Number(0)+Number(1);

推荐这样写。前提是,你得保证object可以转换为数字。

2、isNaN():判断参数是否是非数字,是数字返回false,不是数字返回true;但是参数是空字符串和全是空格的字符串时,返回结果也是false;

3、parseFloat():解析一个字符串参数,并返回一个浮点数。首先它会忽略字符串首尾的空格然后从字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。如果第一个字符串不是数字,则返回NaN;例如:parseFloat('    40.01abc   ');返回值为40.01、parseFloat('    a40.01bc   ');返回值为NaN,返回值不一定会以小数形式体现,例如:parseFloat('    40abc   ');返回值为40。

4、parseInt():将字符串参数作为有符号的十进制整数进行解析。(解析过程和parseFloat()类似,忽略首尾空格,从第一个字符开始解析……)如果有两个参数, 使用第二个参数该参数的进制,将字符串参数解析为有符号的整数。例如:parseInt("   9a ");返回值为9、parseInt("   11c  ",2);返回值为3,‘   11c  ’转化先为数字2进制的数字11,然后再转化为十进制,2进制的11对应的10进制数为3。

二、保留2为小数:

1、四舍五入

var num =2.446242342;num = num.toFixed(2);  // 输出结果为 2.45

2、不四舍五入

以下处理结果不会四舍五入。

第一种,先把小数变整数:

Math.floor(15.7784514000 * 100) / 100  // 输出结果为 15.77

第二种,当作字符串,使用正则匹配:

Number(15.7784514000.toString().match(/^\d+(?:\.\d{0,2})?/));输出结果为 15.77。不能用于整数如 10 必须写为10.0000。如果是负数,请先转换为正数再计算,最后转回负数。

Math.floor()容易出现精度问题,例如:对小数 8.54 保留两位小数(虽然它已经保留了 2 位小数),Math.floor(8.54*100)/100;输出结果为 8.53, 注意是 8.53 而不是 8.54。所以这种函数慎用。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么? ...
    gigi1226阅读 397评论 0 0
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,156评论 0 21
  •   引用类型的值(对象)是引用类型的一个实例。   在 ECMAscript 中,引用类型是一种数据结构,用于将数...
    霜天晓阅读 1,088评论 0 1
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,268评论 0 4
  • 变量 声明变量 命名变量区分大小写的语言第一个字符是字母或下划线_,数字不能作为第一个字符字符必须是字母,数字或者...
    flyingtoparis阅读 834评论 0 0