【发布时间】:2015-01-22 07:36:13
【问题描述】:
这行得通:
> sprintf('%d', c(1, 1.5))
[1] "1" "1"
这不是:
> sprintf('%d', c(1.5, 1))
Error in sprintf("%d", c(1.5, 1)) :
invalid format '%d'; use format %f, %e, %g or %a for numeric objects
为什么?
【问题讨论】:
-
我知道我可以使用
sprintf('%.f', c(1.5, 1))之类的东西,但我想了解%d发生了什么 -
我正在沉思sprintf.c,到目前为止,很难确切地说出为什么这种行为是不对称的。
ns = 0有一条关于强制尝试的评论,尽管它周围的代码很神秘。 -
@RichardScriven 帮助文件中有什么内容?
-
@PascalvKooten 这不能回答为什么第一个案例有效。阅读我的第一条评论