我正在寻找一种等效于C / PHP printf()或C#/ Java程序员String.Format()(IFormatProvider适用于.NET)的JavaScript 。
printf()
String.Format()
IFormatProvider
我的基本要求是现在使用数字的千位分隔符格式,但是可以处理很多组合(包括日期)的东西会很好。
我意识到Microsoft的Ajax库提供了的版本String.Format(),但我们不希望该框架的全部开销。
从ES6开始,您可以使用模板字符串:
let soMany = 10; console.log(`This is ${soMany} times easier!`); // "This is 10 times easier!
尝试sprintf()for JavaScript。
如果您真的想自己做一个简单的格式化方法,请不要先后进行替换,而要同时进行。
因为前面提到的其他替换提议中的大多数其他提议都失败了,而先前的替换字符串也包含这样的格式序列:
"{0}{1}".format("{1}", "{0}")
通常,您希望输出为,{1}{0}但实际输出为{1}{1}。
{1}{0}
{1}{1}