我可以使用以下命令从输出中更改小数字符:
> 1/2
[1] 0.5
> options(OutDec = ',')
> 1/2
[1] 0,5
但是,此更改不会影响sprintf()
功能。
> sprintf('%.1f', 1/2)
[1] "0.5"
所以,我的问题是:有一种简单的方法可以改变它(十进制字符)?我认为我不能使用“简单”RE,因为.
并非每个,
都需要进行交易。
我不知道怎么做,所以我不能说我已经做了什么。
答案 0 :(得分:1)
我认为你可以通过适当设置你的语言环境来做到这一点,确保LC_NUMERIC
组件设置为使用逗号作为小数分隔符(http://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html)的语言环境。
Sys.setlocale("LC_NUMERIC","es_ES.utf8")
sprintf("%f",1.5)
## "1,500000"
这表示R可能表现得很奇怪;您可能希望在生成输出后立即将LC_NUMERIC
切换回C.