Olá galera,
Acho que a grande maioria já deve conhecer este recurso do C#, mas é sempre bom deixar documentado para um momento de esquecimento temporário. :)
Bom, a grande sacada de se utilizar o método .ToString() para formatação de números e datas é a praticidade, por exemplo, supondo que eu queira formatar uma variável do tipo DateTime no formato norte-americano, mas meu servidor está em português:
DataAtual.ToString("MM/dd/yyyy HH:mm:ss");
(Só lembrando que "MM" representa mês e "mm" representa minutos. Assim como o "HH" que exibe a hora da variável mas em formato AM, ou seja, 14:00 ao invés de 02:00).
No caso dos número (Decimal, Int16, Int32, Int64, etc.), a formatação é representada pelos caracteres "#", "0", o ponto e a vírgula. Onde o "#" representa números opcionais e o "0" os número obrigatórios. Sendo assim, um exemplo seria:
Decimal Preco;
Preco = Convert.ToDecimal("1234,56");
Preco.ToString("#,##0.00"), retornaria 1.234,56.
Preco = Convert.ToDecimal("0,12");
Preco.ToString("#,##0.00"), retornaria 0,12.
(Lembrando que a vírgula representa o separador de milhar e o ponto o separador de casas decimais).
Mais informações:
http://msdn.microsoft.com/en-us/library/aa326721(VS.71).aspx
http://msdn.microsoft.com/en-us/library/fzeeb5cd.aspx
http://msdn.microsoft.com/en-us/library/8wch342y.aspx