如何sprintf()使用函式在 R 中列印千位分隔符?例如,如果:
x<-123456.98765
那么如果我想在我使用的整數后列印 0 個小數點:
sprintf("%.0f", x)
你會得到:“123457”
但是如何在末尾加上 sprintif 千位分隔符和貨幣符號,得到以下結果:123.457 $
uj5u.com熱心網友回復:
更新 2:在 OP 澄清后:
paste0(formatC(as.numeric(x), format="f", digits=0, big.mark=","), "$")
[1] "123,457$"
與sprintf:
sprintf("%s $", format(x, big.mark=","))
[1] "123,457 $"
更新 1:請參閱 jay.sf 的評論:
我們可以使用prettyNum:
paste0(prettyNum(as.integer(x), big.mark=",", scientific=FALSE), ' $')
或dollar_format:
https://www.rdocumentation.org/packages/scales/versions/0.4.1/topics/dollar_format
usd <- dollar_format(prefix = "", suffix = "$")
usd(x)
[1] "123,457$"
uj5u.com熱心網友回復:
使用format()andbig.mark=","代替
format(x, big.mark=",", nsmall=2)
將其包裹在 a 中paste()以獲取貨幣符號
paste0(format(x, big.mark=",", nsmall=2), "$")
回傳
"123,456.99$"
如果你必須使用sprintf()那么
sprintf("%s$", format(x, big.mark=",", nsmall=2))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/394828.html
標籤:r
