using System.Text.RegularExpressions;
using System.Globalization;
public static void Main(string[] args)
NumberFormatInfo nfi1 = new CultureInfo("en-US").NumberFormat;
nfi1.NumberGroupSeparator = ",";
nfi1.NumberNegativePattern = 2;
nfi1.NumberGroupSizes = new int[] { 3 };
string pattern = @"(,)\s*";
var input = "0.12345678901234511e15";
decimal result = Convert.ToDecimal(Regex.Replace(input, pattern, "$1"), nfi1);
Console.WriteLine(result);