No you can’t use type integer to store a decimal value. As the name suggests it is for integer values. (1 or 2 or 10365).
The decimal type is what you will need most if not in all (unless you are doing something for the scientific world) of your projects
when tackling numbers with a fractional part. You declare the size including the decimal point and the decimal part.
DEC(5,3) would give you i.e. 1.234 (5 is the total no. of characters including the decimal point, and 3 is the no. of digits to follow the decimal.)
Float and double are so called floating point and mostly used in science to express ridiculous huge numbers, like the diameter of a galaxy in mm. 
Signed (standard) and unsigned is to define if your field can store only positive (unsigned) values or negative (signed) values as well.
The difference is in the value range because of the negative sign which has to be stored or not with the value.
For example: TINYINT gives you a range 256 numbers, 0 to 255 (unsigned) or -128 to +127 (signed).
I hope I could shed some light of the mysterious world of data types. 
jsb