This article explains how to return a value with the correct number of decimals, which is determined by the input currency: https://world.episerver.com/documentation/developer-guides/commerce/orders/rounding-totals-for-currencies/. It applies to Commerce versions 10 and up.
I think Khanh is mentioning another issue. Tobias Nilson mentioned this as well - but he didn't file a bug as I told him - so I will do it. https://jira.ep.se/browse/COM-5619
@Khanh: As an Episerver employee, you have more direct channels to file feature requests :)
@Quan: yes, I already fired a feature request on our internal channel with type "market input" https://jira.ep.se/browse/COM-5614.
But it is not public to our partner, so I fired it here too :)
If it is considered as a bug, it would be really great. Thanks Quan.
A quick view of Mediachase.Commerce.Orders.LineItem class we can see that rounding value for LineItemDiscountAmount is hardcoded to 2:
So with a marketing system that needs high precision, it makes them useless.
My suggestion is we need that rounding value to be configurable or extendable not hardcoded like that.