我正在使用这个原型来格式化javascript中的字符串:
String.prototype.format = function () {
var args = arguments;
return this.replace(/{(\d+)}/g, function (match, number) {
return typeof args[number] != 'undefined'
? args[number]
: match
;
});
};
虽然它运作良好,但它并不是我想做的全部。如果我有一个应该格式化为{0:000000}的字符串,这将无法修复它。 如何扩展它,将额外的0添加到我的字符串? 我可以通过修复正则表达式轻松检测它们,但如何正确格式化返回?
答案 0 :(得分:1)
如果有帮助,在浮动上调用toFixed( )
会相应地对其进行舍入/填充吗?
因此,您可以检查浮动,就像检查浮动一样,它不是未定义的。如果你有一个,你可以args[number].toFixed(6)
。
您还可以通过扩展正则表达式来解析模板以使其与python类似地运行(例如,'{。3f}'3 d.p),从而构建额外的灵活性