资讯专栏INFORMATION COLUMN

JavaScript 系列--JavaScript一些奇淫技巧的实现方法(三)数字取整,数组求和

Carbs / 608人阅读

摘要:一前言简短的函数,获取时间戳数字格式化对象类数组转换成数组今天我们来介绍一下数字取整,数组求和。一个介于和之间的整数数学系统的基础,表示上述字符串的基数。注意但是当数字范围超出即时,异常就出现了。

一、前言

简短的sleep函数,获取时间戳:https://www.mwcxs.top/page/74...

数字格式化 1234567890 --> 1,234,567,890;argruments 对象(类数组)转换成数组:

https://www.mwcxs.top/page/74...

今天我们来介绍一下数字取整,数组求和。

二、数字取整 1、普通版

const a = parseInt(2.33333);
parseInt()方法是解析一个字符串参数,并返回一个指定基数的整数。这个就是我们最常用的取整的最常用的方式。

parseInt() 函数解析一个字符串参数,并返回一个指定基数的整数 (数学系统的基础)。

parseInt语法:parseInt(string, radix);

string:要被解析的值。如果参数不是一个字符串,则将其转换为字符串(使用  ToString 抽象操作)。字符串开头的空白符将会被忽略。

radix:一个介于2和36之间的整数(数学系统的基础),表示上述字符串的基数。比如参数"10"表示使用我们通常使用的十进制数值系统。始终指定此参数可以消除阅读该代码时的困惑并且保证转换结果可预测。当未指定基数时,不同的实现会产生不同的结果,通常将值默认为10。

2、进阶版

const a = Math.trunc(2.33333)
Math.trunc()方法会将数字的小数部分去掉,只保留整数部分(常说的“取整”,不是四舍五入)。

注意:Internet Explorer 不支持这个方法,不过写个 Polyfill 也很简单:

Math.trunc = Math.trunc || function(x) {
  if (isNaN(x)) {
    return NaN;
  }
  if (x > 0) {
    return Math.floor(x);
  }
  return Math.ceil(x);
};

数学的事情还是用数学方法来处理比较好。

3、~~number

这个符号是什么鬼,没有用过,不要紧,慢慢看。这个~~操作符也被称为“双按位非”操作符。你通常可以使用它作为替代Math.trunc()的更快的方法。

console.log(~~66.11)  // 66
console.log(~~12.9999) //  12
console.log(~~6)      //  6
console..log(~~-6.9999999999)   // -6
console.log(~~[])     //  0
console.log(~~NaN)    //  0
console.log(~~null)   //  0

失败时返回0,这可能在解决 Math.trunc() 转换错误返回 NaN 时是一个很好的替代。

注意:但是当数字范围超出 ±2^31−1 即:2147483647 时,异常就出现了。

// 异常情况

console.log(~~2147493647.123) // -> -2147473649            
               
                                           
                       
                 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104481.html

相关文章

  • JavaScript 系列--JavaScript一些奇淫技巧实现方法(二)数字格式化;类数组转数

    摘要:一前言之前写了一篇文章系列一些奇淫技巧的实现方法一简短的函数,获取时间戳介绍了函数和获取时间戳的方法。,和对象的构造函数是对象的属性。缺点低版本,无法处理集合的转数组。 一、前言 之前写了一篇文章:JavaScript 系列--JavaScript一些奇淫技巧的实现方法(一)简短的sleep函数,获取时间戳 https://www.mwcxs.top/page/74... 介绍了sle...

    Jrain 评论0 收藏0
  • JavaScript正则进阶之路——活学妙用奇淫正则表达式

    摘要:正则大法好,正则大法好,正则大法好,重要的事情说三遍。第二部分,这个部分是整个表达式的关键部分。学习正则如果还没有系统学习正则表达式,这里提供一些网上经典的教程供大家学习。正则表达式使用单个字符串来描述匹配一系列匹配某个句法规则的字符串。 原文收录在我的 GitHub博客 (https://github.com/jawil/blog) ,喜欢的可以关注最新动态,大家一起多交流学习,共同...

    BearyChat 评论0 收藏0
  • JavaScript正则进阶之路——活学妙用奇淫正则表达式

    摘要:正则大法好,正则大法好,正则大法好,重要的事情说三遍。第二部分,这个部分是整个表达式的关键部分。学习正则如果还没有系统学习正则表达式,这里提供一些网上经典的教程供大家学习。正则表达式使用单个字符串来描述匹配一系列匹配某个句法规则的字符串。 原文收录在我的 GitHub博客 (https://github.com/jawil/blog) ,喜欢的可以关注最新动态,大家一起多交流学习,共同...

    APICloud 评论0 收藏0
  • JavaScript 系列--JavaScript一些奇淫技巧实现方法(一)简短sleep函数,

    摘要:实现一个目的有多种途径,俗话说,条条大路通罗马。因为是的一个静态函数,所以必须以的形式来使用。注意一元运算符一元运算符将其操作数转换为类型并反转其正负。相当于用来返回对象的字符串表示。 一、前言 有些东西很好用,但是你未必知道;有些东西你可能用过,但是你未必知道原理。实现一个目的有多种途径,俗话说,条条大路通罗马。发散一下大家的思维以及拓展一下知识面。 二、实现一个简短的sleep函数...

    Crazy_Coder 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<