gpt4 book ai didi

R 编程 - 将数字转换为 MM :SS

转载 作者:行者123 更新时间:2023-12-01 07:06:40 25 4
gpt4 key购买 nike

这可能是一个愚蠢的问题,但我找不到任何关于此的信息。

我有一个代表秒的数值。如何将其转换为 MM:SS

例如

我的号码是96

用 MM:SS 表示应该是 01:36。

任何帮助表示赞赏。

最佳答案

%/% ( integer division ) 和 %% ( modulo ) 运营商是您的 friend :

x <- 96
paste(x %/% 60, x %% 60, sep = ":")

这使
> paste(x %/% 60, x %% 60, sep = ":")
[1] "1:36"

这是在一个函数中:
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"

这表明我们需要一点帮助才能准确获得您需要的格式;见 ?sprint有关使用前导 0 等格式化数字 [作为字符] 的方法:
d2ms <- function(x) {
sprintf("%02d:%02d", x %/%60, x %% 60)
}

> d2ms(xx)
[1] "02:00" "01:36" "00:45" "00:30"

请注意 :在上面的字符串中是一个文字, %xxy位是在接下来的两个参数中指定的值的格式,并包括要填充的零数量的格式详细信息(即用零填充,直到数字使用两位数字。)这里使用的模板是:
%[flag][width]specifier ,

我们在这里使用了:
  • 0作为标志 --- 用 0 填充s
  • 宽度为 2 , 我们要 MM 或 SS
  • 说明符是 d对于整数(也可以是 i )

  • 您是否需要它取决于您的最终用例。

    这些运算符对于此类操作非常有用;另一个示例是将度、分、秒表示法转换为空间坐标的十进制度数。

    关于R 编程 - 将数字转换为 MM :SS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33815281/

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