zoukankan      html  css  js  c++  java
  • 数字位数不够,进行前补零的JS实现方案

    /**
    * 自定义函数名:PrefixZero
    * @param num: 被操作数
    * @param n: 固定的总位数
    */
    function PrefixZero(num, n) {
        return (Array(n).join(0) + num).slice(-n);
    }

      使用原理下::

    • Array(5) => 创建了一个长度为5的空数组
      console.log(Array(5));// [empty × 5]
    • Array(5).join(0) => 用0拼接将数组转换成字符串
      console.log(Array(5).join(0));// 0000
    • Array(5).join(0)+91 => 通过+,实现字符串的拼接
      console.log(Array(5).join(0)+91);// 000091
    • (Array(5).join(0) + 91).slice(-5) => slice(startIndex,endIndex)方法,用于截取
      参数说明:
      参数是起始位置,含头不含尾,
      只有一个参数时,表示从该起始位置一直截取到最后。
      参数值为负数时,表示从后往前数,如最后一位,索引是-1
    • PS:不知为何,引入es6的Api不行----------‘X’.padStart(5,ab),使用规则如下:                                                                                                                   

      ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。

      'x'.padStart(5, 'ab') // 'ababx'
      'x'.padStart(4, 'ab') // 'abax'
      
      'x'.padEnd(5, 'ab') // 'xabab'
      'x'.padEnd(4, 'ab') // 'xaba'
      

      上面代码中,padStart()padEnd()一共接受两个参数,第一个参数是字符串补全生效的最大长度,第二个参数是用来补全的字符串。

      如果原字符串的长度,等于或大于最大长度,则字符串补全不生效,返回原字符串。

      'xxx'.padStart(2, 'ab') // 'xxx'
      'xxx'.padEnd(2, 'ab') // 'xxx'
      

      如果用来补全的字符串与原字符串,两者的长度之和超过了最大长度,则会截去超出位数的补全字符串。

      'abc'.padStart(10, '0123456789')
      // '0123456abc'
      

      如果省略第二个参数,默认使用空格补全长度。

      'x'.padStart(4) // '   x'
      'x'.padEnd(4) // 'x   '
      

      padStart()的常见用途是为数值补全指定位数。下面代码生成 10 位的数值字符串。

      '1'.padStart(10, '0') // "0000000001"
      '12'.padStart(10, '0') // "0000000012"
      '123456'.padStart(10, '0') // "0000123456"
      

      另一个用途是提示字符串格式。

      '12'.padStart(10, 'YYYY-MM-DD') // "YYYY-MM-12"
      '09-12'.padStart(10, 'YYYY-MM-DD') // "YYYY-09-12"
    • 不知哪位大佬知道,希望可以不吝赐教
  • 相关阅读:
    shell进行mysql统计
    java I/O总结
    Hbase源码分析:Hbase UI中Requests Per Second的具体含义
    ASP.NET Session State Overview
    What is an ISAPI Extension?
    innerxml and outerxml
    postman
    FileZilla文件下载的目录
    how to use webpart container in kentico
    Consider using EXISTS instead of IN
  • 原文地址:https://www.cnblogs.com/linm/p/13361843.html
Copyright © 2011-2022 走看看