Does this library handle rounding rules [0]? In many countries, prices are rounded to the nearest 5 cent, but the rules can often be elaborate. It looks like the allocation interface might support this, but at the moment I didn't find any mention of it without digging into the docs themselves.
I think one common feature of those rounding procedures is that they are only done for cash payments, rather than plastic, so rather than representing a monetary value, it would have to represent a payment specifically. (With knowledge of payment method and time of transaction since a lot of these rules had a start date.) Possibly a good library to extend off of this!
I'm working on a Clojure library for working with money [0] that handles specific rounding rules by passing a custom rounding function to the round function, allowing you to specify different rules as needed.
There's an example for the Swiss Franc in the README (the code is here [1]).
>You are not going to find 1 or 2 eurocents anymore either
You may want to tell that to my wallet, as well as the payments I make with them. There's a cool 37 billion coins outside in the wild, so you're going to find them rather easily throughout Europe, even if your own country has stopped using them.
Technically, you can use them for payment, they are still valid money; but the price will be rounded to 5 cents when paying in cash and you won't get them in the other direction.
The 1 and 2 eurocent coins are still legal tender in the Netherlands, stores just have the option not to accept them and are allowed to round prices to avoid having to stock them (if communicated beforehand).
It's been years since I last saw a eurocent coin, but it's been eliminated by permitting businesses to remove the need for them, not because they're being phased out.
[0] https://en.wikipedia.org/wiki/Cash_rounding