数字格式化,删除千位分隔符

Number formatting, remove thousands separator

我希望格式化一个数字,使其具有 "leading zeros"(因此字符串的长度始终相等)。 - 虽然我可以作为备份手动执行此操作,但我希望使用最佳选项。 - 由于标准格式语法(如 pythons "{0:4d}".format(number) )似乎不可用,下一个最好的方法是使用国际化库?

我试过在 fiddle 中这样做:https://jsfiddle.net/f4202ne3/1/

let fmt = new Intl.NumberFormat('en-US', 
  {minimumIntegerDigits: 4,
  maximumFractionDigits: 0
});
m = 1;
n = 5001

console.log(m.toString(), fmt.format(m)) //"0001"
console.log(n.toString(), fmt.format(n)) ///"5000"

但是这会显示“5,000”和“0,001”。如何将千位分隔符设置为值 ('')?

您可以使用 .pad 字符串方法 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart)

"1231".padStart(8,0)//00001231
"131".padStart(8,0)//00000131

只需将 useGrouping 选项设置为 false

let fmt = new Intl.NumberFormat('en-US', {
  minimumIntegerDigits: 4,
  maximumFractionDigits: 0,
  useGrouping: false
});