"Fine" but could be better, and yes you are. You cannot add "an option" without adding or changing some code. There is a possibility for a mess every time the code is touched.
One could start looking at current code X, decide how a new feature A should be added, add it, test, and close the case. Later, start looking at same code X again, decide how a new feature B should be added, add it, test, and close the case. Alternatively, one could looking at current code X, decide how new features A and B should be added, add them, test, and close the case. In the former approach the "start looking at" is repeated and design likely becomes less cohesive even when A and B are unrelated.
Indicating that (number of digits, width of field) should be relatively trivial for the user to do in the placeholder syntax. E.g. '%03d'.