What is the best way to deal with currency values?

What I mean is during the course of my program, numbers representing currency
values are calculated and stored as floats...consequently the artithmetic
produces numbers like 6.345234 etc.
I want to round these numbers to two decimal places (up or down as appropraite)
so I can write them back to the database in that form.

The Math.round() methods produce whole numbers...is their another way to
achieve this?

Many thanks

Chris