Czy istnieje typ danych „Decimal” w R?

Czytam dane zapisane w formacieDECIMAL z tabeli MySQL. Chcę wykonać obliczenia na tych liczbach w R.

Zwykłem rzucać je na representację numerias.numeric(), ale dokumentacja mówi:

numeryczny jest identyczny z podwójnym (i rzeczywistym).

Ale czy istnieje również typ danych dziesiętny w R? (Typ danych bez błędów zaokrąglania, ...)

Oto prosty przykład problemu z błędami zaokrąglania:

numbersStrings = c("0.1", "0.9")
numbersNumeric = as.numeric(numbersStrings)
numbersMirror  = c(numbersNumeric, 1-numbersNumeric)

str(numbersMirror)

numbersMirror
unique(numbersMirror)  # has two times 0.1 ...

sprintf("%.25f", numbersMirror)
sprintf("%.25f", unique(numbersMirror))  # ... because there was a rounding error

questionAnswers(2)

yourAnswerToTheQuestion