C# formatowanie liczb

Witam

Mam problem z formatowaniem wyświetlania liczb w dataGridView.

dataGridView1.Rows[y].Cells[x].Value = String.Format("{0:0,00}", Convert.ToString(Convert.ToDouble(dataGridView1.Rows[y].Cells[x].Value)));


// dla wpisanej liczby: 123,1 zwraca 123,1

// dla wpisanej liczby: 123 zwraca 123

Jak sformatować ciąg znaków, aby zawsze po przecinku były wyświetlane dwie liczby (np. dla liczby 123,1 zwrócić ma 123,10 ,a dla liczby 123 zwrócić ma 123,00)?

Może tak?

dataGridView1.Rows[y].Cells[x].Value = liczba.ToString("N2");

Wielkie dzięki za pomoc, ale pomogła zamiana przecinka “{0:0,00}” na kropkę “{0:0.00}”.

Działający poprawnie kod:

dataGridView1.Rows[y].Cells[x].Value = String.Format("{0:0.00}", Convert.ToString(Convert.ToDouble(dataGridView1.Rows[y].Cells[x].Value)));

Osobiście zrobiłbym to trochę inaczej … przy użyciu właściwości Format. Na tej stronie http://msdn.microsoft.com/en-us/library/f9x2790s.aspx są przykłady. W skrócie chodzi o to, aby na etapie projektowania DataGridView zdefiniować jak mają być wyświetlane dane w poszczególnych kolumnach. Możesz to zrobić z poziomu kodu lub przy użyciu GUI.

someDataGridView.Columns[index].DefaultCellStyle.Format = "custom format";