Я читаю данные, хранящиеся в формате DECIMAL
из MySQL-таблицы. Я хочу делать вычисления на этих числах внутри R.
Я использовал их для численного представления с помощью as.numeric()
, но в документации говорится:
числовое значение идентично двойному (и реальному).
Но существует ли также тип данных Decimal в R? (Тип данных без ошибок округления,...)
Вот простой пример проблемы с ошибками округления:
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