@shaleni sen
Which language are you talking about, C or C++?
In C, the boolean type (bool) was added in the 1999 version of the Standard. Boolean is an integral type used to encode logical values 'true' and 'false'. Why would you expect it to be able to hold a floating-point value?
Floating-point values are typically encoded as a mantissa and exponent (like scientific notation). The essential difference between float and double is the number of significant digits that are supported. However, the number of significant digits does not map directly to a certain number of decimal digits. For example, if the value is less than one then all of the significant digits appear to the right of the decimal point. As the value gets bigger, more and more of the significant digits are on the left side of the decimal point. So there is no simple answer to your question about the number of decimal places in a float.