格式化數字的最佳方式是什麼,以便它不顯示前導零。例如:不帶前導零的格式數字
test = .006
sprintf/format/formatC(???) # should result in ".006"
格式化數字的最佳方式是什麼,以便它不顯示前導零。例如:不帶前導零的格式數字
test = .006
sprintf/format/formatC(???) # should result in ".006"
我相信我回答過這一次,但無法找到它。您無法告訴sprintf()
等有關丟棄前導零的格式......所以你要自己做,例如通過substring()
:
R> val <- 0.006
R> aa <- substring(sprintf("%4.3f", val), 2)
R> aa
[1] ".006"
R>
f <- function(x) gsub("^(\\s*[+|-]?)0\\.", "\\1.", as.character(x))
f(0.006)
# ".006"
f(-0.006)
# "-.006"
f("+0.006")
# "+.006"
f(" 0.006")
# " .006"
f(10.05)
# "10.05"
這應該是答案,因爲它處理主要用例並使用base r。 –
我發現[這個答案](http://stackoverflow.com/questions/12643391/how-to-remove-leading-0-in-a-numeric-r-variable)到一個相關的問題有用。它使用base R,並且不會丟棄非零的前導數字。 –