r语言 - sprintf():作为参数的小数位数



当前解决方案是

dp <- 2
sprintf(paste0("%.", dp, "f"), 0.123)

希望的解决方案没有 paste0((,类似于

sprintf("%.{%2$d}f", 0.123, 2L)

除了它有效。

您可以使用*dp插入到格式中。

dp <- 2
sprintf("%.*f", dp, 0.123)
# [1] "0.12"

?sprintf

详情

字段宽度或精度(但不能同时使用两者(可以用星号*表示:在这种情况下,参数指定所需的数字。

另请参阅示例:"使用星号表示宽度或精度";"星号和参数重用,重申'e'示例">

其他一些可能性:

# option 1
prettyNum(0.123, digits = dp)
# option 2
formatC(0.123, digits = dp, format = 'f')

相关内容

  • 没有找到相关文章

最新更新