【问题标题】:Unpad number from a padded number从填充的号码中取消填充号码
【发布时间】:2018-10-20 20:25:02
【问题描述】:

我知道如何运行脚本来生成和填充数字,但我不知道如何取消填充它们。 例如,0008 表示有 4 个填充,但填充数字的值为 8。

function pad(num, size) {
    var s = num + "";
    while (s.length < size)
        s = "0" + s;
    return s;
} 

pad(8, 4);

但是,如何取消填充它们? 假设我有一个 0011,我想取消填充数字以仅记录 11。 有解决办法吗?如果我使用 slice 方法,那么如果填充的数字是 0100 或 1000,它将不起作用。

【问题讨论】:

标签: javascript google-apps-script


【解决方案1】:

您现在可以使用padStart() 方法进行填充,使用+ 进行取消填充。例如:

const x = "8";
const padded = x.padStart(4, 0);
console.log(padded) // "0008"
const unpadded = +x;
console.log(unpadded) // 8

希望它可以帮助任何人获得更清洁的代码。

【讨论】:

    【解决方案2】:

    对填充值使用parseInt() 以获取未填充值。如果您希望 unpad 值的结果为 string,那么您可以在解析后的值上使用 toSting()

    function pad(num, size) {
      var s = num + "";
      while (s.length < size) s = "0" + s;
      return s;
    } 
    
    var padded = pad(8, 4);
    console.log('padded '+padded);
    var unpad = parseInt(padded);
    console.log('unpad '+unpad);
    
    
    padded = pad(100, 4);
    console.log('padded '+padded);
    unpad = parseInt(padded);
    console.log('unpad '+unpad);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-27
      • 2017-07-11
      • 2021-11-04
      • 2012-10-09
      相关资源
      最近更新 更多