When looking for the difference between SQL data types money and decimal I came across several posts that suggested that decimal(19,4)
was best used to represent currency in SQL Server
Why are four places to the right of the decimal needed? I would think that only two places are required as money is represented as
$23.47
$5.00
$4200.50
I don't recall ever seeing money represented as
$23.4700
$5.0000
$4200.5000
The first and most important rule: use a decimal data type, never ever binary floating-point types.
When exactly rounding should be performed can be mandated by regulations, such as the conversion between the Euro and national currencies it replaced.
If there are no such rules, I'd do all calculations with high precision, and round only for presentation, i.e. not use rounded values for further calculations. This should yield the best overall precision.