I encountered an issue with Dynamics 365 rollup field on currency field. The scenario is as follow:
Expected value = $50,000.00
Actual value = $49,999.99
I've opened a support ticket and the support engineer suggested this by design and they suggested me to log this idea.
I posted a thread about this issue - https://community.dynamics.com/crm/f/117/t/255138
It appears to be because the roll-up field sums up the child records as expected and calculates the base value equivalent of the figure and stores this in the database to 4 decimal places. The roll-up field then does the reverse calculation and multiplies the base value by the exchange rate on the record to give you the value displayed - however the process of converting to 4 decimal places causes a loss of precision in the data hence a discrepancy in values.