在通过SQL查询导入的R对象中显示前导零和尾部零

时间:2016-08-10 10:11:31

标签: sql r rodbc

我需要制作任何类型的打印声明(我更喜欢使用cat或paste来与其他工作保持一致)。

我遇到的问题是,当它具有前导零和拖尾零时,我找不到打印XX.XX形式的对象的方法,例如07.20。

通常这不是问题,但对象来自数据库,通过RODBC SQL查询。

我通常可以通过以下方式获得领先零:

X <- paste(SQL QUERY HERE)

report <- formatC(as.vector(t(RODBC::sqlQuery(channel, X))),
                  width = 5, flag = "0")

但是对于具有前导零和尾随零的字符,将打印以下内容:

paste(report)

007.2

以下将产生拖尾零:

report <- formatC(as.vector(t(RODBC::sqlQuery(channel, X))),
                  format = 'f', digits = 2)
paste(report)

7.20

这两种方法的任何组合似乎只赞成一种,并产生上述结果之一。

提前非常感谢。

1 个答案:

答案 0 :(得分:1)

一些只是为了解决问题的例子(仍然无法理解你的需求):

## val <- as.vector(t(RODBC::sqlQuery(channel, X)))
val <- 7.2
sprintf("%05.2f", val)
val <- "007.2"
sprintf("%05.2f", as.numeric(val))