Javascript中的字符串格式精度

时间:2012-11-23 13:12:54

标签: javascript string string-formatting

我正在使用这个原型来格式化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添加到我的字符串? 我可以通过修复正则表达式轻松检测它们,但如何正确格式化返回?

1 个答案:

答案 0 :(得分:1)

如果有帮助,在浮动上调用toFixed( )会相应地对其进行舍入/填充吗?

因此,您可以检查浮动,就像检查浮动一样,它不是未定义的。如果你有一个,你可以args[number].toFixed(6)

您还可以通过扩展正则表达式来解析模板以使其与python类似地运行(例如,'{。3f}'3 d.p),从而构建额外的灵活性