Это проще, чем кажется, просто используйте:
decimal number = 5461497702600M;
string s = string.Format("{0:#,##0.00}", number );
Здесь необходимо использовать decimal
. Изображение #, ## 0,00 - это очень стандартный способ сделать это, при выводе будут использоваться системные символы по умолчанию, а всплывающее окно достаточно умное, чтобы при необходимости повторить группировку из 3 цифр. Используйте следующую перегрузку для указания культуры, в этом примере с InvariantCulture всегда будет использоваться десятичная точка:
string s = string.Format(System.Globalization.CultureInfo.InvariantCulture,
"{0:#,##0.00}", number);