Your first statement says convert this floating point number that has random values in it past about six decimals of precision to a double precision value. You second statement says (oddly) convert this double precision number (that's what the D means) that is *exactly* this value to a double precision value. You will find lots of information to chew on in these articles:
http://www.idlcoyote.com/math_tips/double.html
http://www.idlcoyote.com/...tips/readdouble.html
http://www.idlcoyote.com/.../sky_is_falling.html