If you're going to store money values in a database, consider that floating point numbers can be inaccurate, due to the way they're represented according to the IEEE 754 specification. A full discussion of this is too long to put here.
You can work around this by multiplying all your prices values by some value that eliminates the fractional part of the number and only stores integers. With US dollars, for example, there is no smaller unit of currency than 1 cent. Instead of storing floating point value .01 to represent this (possibly losing precision), I could multiply it by 100 and store an integer 1, without losing any precision.
If I eliminate floating point numbers from my prices like this, now I'm only storing integer values. After reading them on the client, I still have to format them as dollars and cents, which means I have to write some extra code to format prices values like "399" into "$3.99", which is not that difficult, and I can do it without losing any precision.
If you're storing currency values other than US dollars, you may have a different scheme, but the idea is the same - convert your fractional prices into integers for storage in the database, then format those values as the user would expect to see them.