[R] Number changed weirdly when converting to numeric

Christofer Bogaso
2025-03-09T17:12:47Z

Hi,

I have below simple conversion

> sprintf("%0.15f",
as.numeric("-177253333.333333343267441"))

[1] "-177253333.333333373069763"

I could not figure out why the input and output is different?

Clearly this conversion is incorrect. Is there any way to convert to
numerical properly?

> sessionInfo()

R version 4.4.0 (2024-04-24)

Platform: aarch64-apple-darwin20

Running under: macOS 15.3.1


Matrix products: default

BLAS:
/Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRblas.0.dylib

LAPACK:
/Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib;
 LAPACK version 3.12.0


locale:

[1] C/UTF-8/C/C/C/C


time zone: Asia

tzcode source: internal


attached base packages:

[1] stats     graphics  grDevices utils     datasets  methods   base


loaded via a namespace (and not attached):

[1] compiler_4.4.0