it is difficult to answer bcs. it really depends on the requirement and data you getting. Using currency and quantitiy also means that you have 3 (or 5) digits accuracy. Whereas floating point is more. If you are getting your data from SAP ECC, then you should check the types in ECC and use the same. Otherwise check your data and use floating point where it is really needed.
As for charaterstics: keep in mind that it is always possibile to increase the lenth of CHAR types; reducing is much more difficult when you already used the info object.