我正在寻找与 C/PHP printf()
或 C#/Java 程序员相当的 JavaScript 等价物 String.Format()
(用于 .NET 的 IFormatProvider
)。
我现在的基本要求是数字的千位分隔符格式,但是处理大量组合(包括日期)的东西会很好。
我意识到 Microsoft 的 Ajax 库提供了 String.Format()
的一个版本,但我们不想要该框架的全部开销。
原文由 Chris S 发布,翻译遵循 CC BY-SA 4.0 许可协议
当前的 JavaScript
从 ES6 开始,您可以使用模板字符串:
有关详细信息,请参阅下面的 Kim 的 回答。
较旧的答案
为 JavaScript 尝试 sprintf() 。
如果你真的想自己做一个简单的格式化方法,不要连续做替换,而是同时做。
因为当先前替换的替换字符串也包含如下格式序列时,提到的大多数其他建议都会失败:
通常您希望输出为
{1}{0}
但实际输出为{1}{1}
。所以像 恐惧噬菌体的建议 那样做一个同时替换。