The static method toNumeral does exactly this.
It can be used for numbers from 1 to
5 999 999.
Using it to convert higher numbers works, but does not produce historically
correct results.
The second parameter $uppercase determines if the letters
should be UPPERCASE (default) or not.
Parameter number 3 sets if HTML code for overscores shall be generated;
this is necessary for numbers greater than 3999. If the parameter is set to
false, letters will be prefixed with an underscore _.