When one enters data in an objects defined as currency, you can input as much decimals as you want. That value will actually be saved as well, but it won’t show though.
I’m adding an exchange rate to one of my templates. The actual value does seem to be influenced by the way the input is set up. Only after adding precision am I able to use more decimals in my calculation. So this:
Indeed, the currency attribute will always round the input to two decimals as a standard. It was designed primarily to calculate with amounts. Since you’re adding a rate, I think you would be fine without adding an attribute. This way you’ll be calculating with the value exactly as in the input field:
{% input custom.[id_gb].rate %}
If you have any further questions, please let me know.