是否有node.js的sprintf等价物

Ste*_*nks 65 printf node.js

想在node.js中做输出格式化(sprintf类型功能),但在我自己编写之前,我想知道是否有类似内置的东西(我已经拖网文件无效)或者某人已经编写过模块.

非常感谢

lap*_*apo 65

现在有printf类似的支持util.format().

例:

util.format('hello %s', 'world');
// Returns: 'hello world'
Run Code Online (Sandbox Code Playgroud)

  • 另外,`util.format`中的支持是非常基本的:没有`%5d`或`%5.3f`或类似的东西,所以它不是一个真正的'sprintf`式解决方案,不幸的是. (67认同)
  • 它没用,它根本不像printf (4认同)
  • 类似于@Elliot Foster的评论,你也可以做`var printf = require('util').format`; (3认同)
  • 将数字强制转换为固定宽度的字符串表示形式(可能使用0填充)是printf-like的主要用例;从10.5.0版开始,`util.format`不支持该功能(例如`require('util')。format(“ blarf_%04d”,42);`)。 (2认同)

KAR*_*ván 26

npm注册表中有几个是实际的sprintf实现,因为util.format它只是一个非常基本的支持.


Sar*_*raz 7

这是javascript版本sprintf:

http://phpjs.org/functions/sprintf:522


Jür*_*aul 5

console.log 工作良好.

console.log('%d hours', 4); // 4 hours
console.log('The %2$s contains %1$d monkeys', 4, 'tree'); // The tree contains 4 monkeys
Run Code Online (Sandbox Code Playgroud)

  • 第一个示例适用于Node 0.10.18,但第二个示例完全失败:需要删除2 $/1 $以实际获取参数插值,然后参数需要按正确顺序排列,否则您将获得:console.log ('%s包含%d个猴子',4,'树'); 返回:4包含NaN猴子``` (4认同)
  • 有用的提示(如果它有效)但它相当于`printf`,而不是'sprintf`. (3认同)