gpt4 book ai didi

r - 以编程方式将字符串宽度值插入 sprintf()

转载 作者:行者123 更新时间:2023-12-04 22:43:07 27 4
gpt4 key购买 nike

我正在尝试以编程方式将字符串宽度值插入 sprintf()格式。

想要的结果是

sprintf("%-20s", "hello")
# [1] "hello "

但我想插入 20即时,在同一个调用中,因此它可以是任何号码。我试过了
sprintf("%%-%ds", 20, "hello")
# [1] "%-20s"
sprintf("%-%ds", 20, "hello")
# Error in sprintf("%-%ds", 20, "hello") :
# invalid format '%-%d'; use format %f, %e, %g or %a for numeric objects
sprintf("%-%%ds", 20, "hello")
# Error in sprintf("%-%%ds", 20, "hello") :
# invalid format '%-%%d'; use format %f, %e, %g or %a for numeric objects

这在 sprintf() 中是否可行? ?

最佳答案

是的,这可以通过使用星号 * 来实现.

如前所述 in the docs ,

A field width or precision (but not both) may be indicated by an asterisk *: in this case an argument specifies the desired number



因此代码将是
> sprintf("%-*s", 20, "hello")
[1] "hello "

关于r - 以编程方式将字符串宽度值插入 sprintf(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39536711/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com