千位欧美十进制格式
Posted
技术标签:
【中文标题】千位欧美十进制格式【英文标题】:European and American decimal format for thousands 【发布时间】:2014-05-08 09:50:31 【问题描述】:我正在阅读 csv,但我对美国和欧洲的数字格式有疑问。美国有.
表示小数,欧洲有数千。这是读取 csv 例程。
read.csv("data.csv",header=F,skip=4, sep=";", fileEncoding= "cp1252")
问题是当我有一个以 0 结尾的数字时,没有小数。
> 2.100
[1] 2.1
想象一下:
> 2.113
[1] 2.113
我用.
替换了空白,我有一个欧洲号码,但在另一种情况下,我有 21 个。
我也尝试了一些更改,但我有一些带有,
的数字,我尝试使用十进制但它不起作用。
编辑:
什么到达df。
2.100 21.882,30gsub("\.", "", 数字); gsub("\,", ".", 数字);
我做了一些转换,之后:
2.100 21882.30R 认为它是 2,1 但它是 2100,read.csv2 不起作用。
【问题讨论】:
read.csv
用于美式 CSV 文件。 read.csv2
用于欧式 CSV 文件。它可能会解决您的问题。
【参考方案1】:
您也可以使用dec
来指定您想要的小数位符号。例如,如果小数点符号是.
:
read.csv("data.csv",header=F,skip=4, sep=";", fileEncoding= "cp1252", dec = ".")
【讨论】:
以上是关于千位欧美十进制格式的主要内容,如果未能解决你的问题,请参考以下文章
使用 ToString() 格式化十进制值以将逗号作为千位分隔符,其中小数位数未知