dec2hex returns the character representation of the value in its argument in hexadecimal...that will be in your case an array of length 5 as you asked for specifically that many digits,
Hence, the cast to double returns an array of each of those characters in numeric representation, NOT the conversion of the hex string to a double number as you probably are expecting. The assignment of that array to a single element in your array is the proximate cause of the error message.
49 48 48 48 48
NB: that the conversion to double is still probably not what you're looking for...that's the representation of the bit pattern as a double, not the decimal integer of the hex string.
Depending upon your end goal, many or most of these transformations may not be needed...but you don't describe that.