Format the Number for display

Hello Guru,
Q1) I need to display numbers from a database in a specific format.
Table Tn (n number(6,3));

The format is 999.999

SQL> insert into tn values( 123.123) ;
1 row created.
SQL> insert into tn values(0) ;
1 row created.
SQL>insert into tn values(0.123)
1 row created.
So I do
SQL> select to_char(n,999.999) from tn ;


I need the display output of value which is .000 to be 000.000 AND
.123 to be 000.123
as per the format mask.
No matter what mask i give zero is always missing from the left hand side of the decimal.
Or atleast I should have the display as 0.000 and 0.123.
How to do this.
2)Can u send me the link for available format masks for numbers and dates in the DOC Please.