So the user input (i.e. to set a countdown time) comes from a float register - that's why I have to use a float input for this function.
If you change your input function to return an unsigned long (a whole number of seconds) instead of a float, this "problem" simply disappears.