For starters, don't use strings to represent numbers: it's a PITA when you want to do something with them later. Always holds data in the appropriate datatype, and convert to that type as early as possible using the Parse, TryParse, and / or TryParseExact methods (reporting problems to the user as you go) and convert back to a string for presentation as late as possible.
The "early in" and "late out" design lets you use information about the users Locale and Culture which may not be available while processing or if you store the info.
Then it's just a matter of formatting the number for output:
long x = 4500078912;
Console.WriteLine("{0:00#\\.###\\.###\\.###}", x);
string output = String.Format("{0:00#\\.###\\.###\\.###}", x);