# ExponentFunction not respected in NumberForm when typesetting zero?

Let's try to typeset a couple of numbers with a precision accuracy of 4:

04
14
10000004


I do not want the numbers returned with *10^... therefore I use NumberForm with ExponentFunction set to Null:

NumberForm[04, ExponentFunction -> (Null &)]
NumberForm[14, ExponentFunction -> (Null &)]
NumberForm[10000004, ExponentFunction -> (Null &)]


However as you can see, the 0 is still in exponent form...! It should be 0.000 much like the 1.000.

A bug?

Any ideas on how to circumvent this behaviour?

• I wonder if this hasn't been discussed before. I'll see what I can find. Thanks for pointing out this issue. – Mr.Wizard Dec 9 '16 at 12:27

On a circumvent side, since ExponentFunctiondoes return an exponent for 0 even after we asked not to do so, we can use the NumberFormat function to typeset it manually:
NumberForm[04,

Note, this will work when you want Accuracy as shown in OP question (), not Precision ().
• Thankfully I did indeed mean accuracy and not precision, your workaround works thanks! An odd edge case for NumberForm`. – Quantum_Oli Dec 9 '16 at 11:26