数字格式,去掉千位分隔符
Posted
技术标签:
【中文标题】数字格式,去掉千位分隔符【英文标题】:Number formatting, remove thousands separator 【发布时间】:2017-12-12 15:39:02 【问题描述】:我希望格式化一个数字,使其具有“前导零”(因此字符串总是等长)。 - 虽然我可以作为备份手动执行此操作,但我希望使用最佳选项。 - 由于标准格式语法(如 pythons "0:4d".format(number)
)似乎不可用,次优是使用国际化库?
我试过在小提琴中这样做: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”。如何将千位分隔符设置为一个值 (''
)?
【问题讨论】:
见NumberFormat
options
:developer.mozilla.org/en-US/docs/Web/javascript/Reference/…
【参考方案1】:
只需将useGrouping
选项设置为false
let fmt = new Intl.NumberFormat('en-US',
minimumIntegerDigits: 4,
maximumFractionDigits: 0,
useGrouping: false
);
【讨论】:
【参考方案2】:你可以使用.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
【讨论】:
虽然这解决了直接问题,但我仍然想知道如何设置千位分隔符。 (否则我会在不久的将来遇到这个问题,因为无论如何我都会使用它来将文本格式化为输出字段的货币)以上是关于数字格式,去掉千位分隔符的主要内容,如果未能解决你的问题,请参考以下文章