这可能是个愚蠢的问题,但我找不到任何相关内容.
我有一个表示秒的数值.如何将其转换为MM:SS
例如
我的号码是96
代表MM:SS应该是01:36.
任何帮助表示赞赏.
x <- 96
paste(x %/% 60, x %% 60, sep = ":")
Run Code Online (Sandbox Code Playgroud)
这使
> paste(x %/% 60, x %% 60, sep = ":")
[1] "1:36"
Run Code Online (Sandbox Code Playgroud)
这是一个功能:
d2ms <- function(x) {
paste(x %/% 60, x %% 60, sep = ":")
}
> xx <- c(120, 96, 45, 30)
> d2ms(xx)
[1] "2:0" "1:36" "0:45" "0:30"
Run Code Online (Sandbox Code Playgroud)
这表明我们需要一些帮助来获得您需要的格式; 看看?sprint如何格式化数字[作为字符]与前导0等:
d2ms <- function(x) {
sprintf("%02d:%02d", x %/%60, x %% 60)
}
> d2ms(xx)
[1] "02:00" "01:36" "00:45" "00:30"
Run Code Online (Sandbox Code Playgroud)
请注意,:上面的字符串中是一个文字,这些%xxy位是接下来两个参数中指定的值的格式,并包括要填充的零数的格式详细信息(即使用零填充,直到数字使用两位数.)模板这个用法是:
%[flag][width]specifier,
在这里我们使用:
0作为旗帜---垫与0s2,我们想要MM或SSd整数(也可能是i)无论您是否需要,都取决于您的最终用例.
这些运算符对于这些类型的运算非常有用; 另一个例子是将度,分,秒表示法转换为空间坐标的十进制度.