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"
    • 不知哪位大佬知道,希望可以不吝赐教
  • 相关阅读:
    创建Android项目时出错——No resource found that matches the given name 'Theme.AppCompat.Light'
    Java、Android 开发环境搭建
    tomcat7的安装与配置、及Servlet部署
    让实体对象自行决定留存操作类型(增删改)
    聚合体
    PowerDesigner15中定义varbinary(max)列
    Pig limit用法举例
    Pig join用法举例
    Pig distinct用法举例
    Pig group用法举例
  • 原文地址:https://www.cnblogs.com/linm/p/13361843.html
Copyright © 2011-2022 走看看