The reason for this is the underlying representation of a double precision floating point number and how it is represented internally by the computer, in this case the CLR. The value 1.2999999523162842 is very close to 1.3, so it should be good enough for most practical purposes. But it's not good for all cases, such as with currency.
Here's a good wikipedia entry on the topic of floating point numbers:
http://en.wikipedia.org/wiki/Floating_point
I hope that this helps! Let me know if this is unclear or if this is causing a problem for you. Otherwise, if I answered the question, please mark it as such.
Thanks!
http://kenwatts.blogspot.com/
Please select "Mark as Answer" for posts that are helpful. Thanks!