Steadily decrease a value dynamically and discretely over time

In my game there are buildings of the same type consuming a specific resource over the course of a certain time frame (for example 50 seconds). The more buildings there are of a certain type the more of this resource gets consumed. In the UI the user should see this steady consumption. The resource amount in the UI however should not be updated faster than every 2 seconds and should leave out decimals. If the consumption rate is really low the resource amount in the UI should only update every 4 seconds. The behavior I want to achieve can be observed in the game Frostpunk. I am new to Unreal and game development and want to know how I can easily reproduce this logic in Unreal? Thank you for any suggestions!