why as.numeric function in R doesn't work properly?
===

I have these two characters and the "as.numeric" function doesn't work same for them. Can anyone help me why this is happening?

> options(digits=22)

> a="27"

> as.numeric(a)

[1] 27.00000000000000000000
> 

> 
> 
> a="193381411288395777"

> as.numeric(a)

[1] 193381411288395776.0000


It can be seen that in the second case the last digit is not "7" and it is "6". Basically the "as.numeric" function decreases 1 unit from the number in the second case.

Any help is appreciated.

Nima