小编典典

如何用前导零填充值?

all

在 JavaScript 中零填充值的推荐方法是什么?我想我可以构建一个自定义函数来将零填充到类型转换的值上,但我想知道是否有更直接的方法来做到这一点?

注意: “填零”是指数据库意义上的单词(其中数字 5 的 6 位填零表示为“000005”)。


阅读 137

收藏
2022-03-13

共1个答案

小编典典

读者注意!

正如评论者所指出的,这个解决方案是“聪明的”,而且聪明的解决方案通常是,它是内存密集型的并且相对较慢。如果您关心性能,请不要使用此解决方案!

可能已过时 :ECMAScript 2017
包括String.prototype.padStartNumber.prototype.toLocaleString
ECMAScript 3.1 起就存在。例子:

var n=-0.1;
n.toLocaleString('en',

{minimumIntegerDigits:4,minimumFractionDigits:2,useGrouping:false})

…将输出“-0000.10”。

// or
const padded = (.1+"").padStart(6,"0");
`-${padded}`

…将输出“-0000.1”。

一个简单的功能就是你所需要的

function zeroFill( number, width )
{
  width -= number.toString().length;
  if ( width > 0 )
  {
    return new Array( width + (/\./.test( number ) ? 2 : 1) ).join( '0' ) + number;
  }
  return number + ""; // always return a string
}

如果你想保存命名空间或其他什么,你可以将它烘焙到一个库中。就像jQuery 的
extend
一样。

2022-03-13