我希望得到一個樣品中所有不同的浮點值:獲取R中花車的精確值?
unique(c(0.100000000002, 0.100000000003))
但這僅返回哪些不是唯一值的兩倍0.1
:
[1] 0.1 0.1
我如何可以列出確切值得救了嗎?
我希望得到一個樣品中所有不同的浮點值:獲取R中花車的精確值?
unique(c(0.100000000002, 0.100000000003))
但這僅返回哪些不是唯一值的兩倍0.1
:
[1] 0.1 0.1
我如何可以列出確切值得救了嗎?
這只是R的7個有效數字的默認打印限制。要看到真實的基本價值:
print(unique(c(0.100000000002, 0.100000000003), digits=15)
要更改默認行爲,請參閱?options
;你想要的東西像options(digits=15)
。
使用sprintf
...
x <- unique(c(0.100000000002, 0.100000000003))
sprintf("%.20f", x)
#[1] "0.10000000000200000294" "0.10000000000299999470"
從help page爲sprintf
...
˚F
雙精度值,在「定點」的 形式的十進制表示「[ - ] mmm.ddd」。小數位數(「d」)由 指定精度:默認值爲6;精度爲0時會抑制小數點的位置。非有限值被轉換爲NA,NaN或(可能是符號後跟Inf)。
在這裏你去
options(digits=14)
unique(c(0.100000000002, 0.100000000003))
這是一樣的@HongOoi的答案,因此重複的信息。 –
是的。對不起。在發佈之前我沒有閱讀他的回答。 – Avinash