Per http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx, "d" is supported by integer types only.

You can try this instead: {0:0.#######}

You'll need to decide the max number of decimal places you want after the decimal point and repeat the # accordingly. To ensure right-fill with zeros, substitute 0 for #. (Note that the range for the double-precision floating point
exponent can be a quite large magnitude negative number, so in theory you could need hundreds of decimal places. Hence the advantage of the scientific notation.)

(Note: Be sure to match the column data type with your database. If your database column is DECIMAL, use System.Decimal -- not Single or Double float -- to avoid rounding problems. Note that were you to use System.Decimal, the default formatting
is not scientific notation so you would just get what you wanted.)