This accepts decimal numbers, but makes the + / - controls increment by 0.01... not very user friendly. I thought perhaps something like this might work...
However my browser (Chrome 85) just rounds this back to 1 and rejects 4.23 as invalid.
Some have suggested that using any is the solution... I disagree as I want the field to only allow a maximum of 2 decimal places.
It seems to me that the increase/decrease step function should not be coupled with the validity of the number, it should just change the way that the + and - buttons work.
I searched around and found others asking the same question, but I haven't found a resolution.