A field set to two decimal places can still hand your Apex code a value with three. We saved 1250.555 to a Currency(16, 2) field through Apex, queried it back in the same transaction, and got 1250.555. That is the kind of detail that makes totals drift by a cent.
A Salesforce currency field is a custom field for money. You choose how many digits sit left of the decimal point (Length) and how many sit right of it (Decimal Places), and the record page shows the value as an amount. Below you will build one on Opportunity, read what each setting means, see five real test results, and learn where rounding should happen.