Perhaps we should clarify that a bit more. A float is not necessarily a number with decimal points, nor is it the only option available for storing a decimal. A double will work quite nicely, depending on the amount of precision necessary. A float is a single precision , 32 bit number. It should never be used for currency. It also takes up less memory than a double, which is a double precision 64 bit integer. It should not really be used for currency either.
At any rate, a cursory explanation does not really tell you anything. To better understand what the differences are, and the uses, look at Primitive Data Types (it doesn't matter what language). And time spent on wikis would help you understand the difference between wchar and char, when to use which, or why either one should be used at all. Learning to program has precious little to do with whatever language you may be using. All of the data types have a background on why they are what they are; for example, if an int takes up 32 bits, what is the maximum possible value it can hold? Can you figure it out without looking it up? Do you understand how that value is obtained?
QUOTE
I'm competent with Char, long, int, short
What does that mean? That's sort of like saying I am competent in 'tree' and 'blue'.