using System.Globalization;
static decimal NotationToNumber(string notation)
return Decimal.Parse(notation, NumberStyles.Float);
static string NumberToNotation(double number)
return string.Format("{0:E6}", number);
public static void Main()
Console.WriteLine("Number value: 2, Notation: "+ NumberToNotation(2));
Console.WriteLine("Number value: 4,321.768, Notation: " + NumberToNotation(4321.768));
Console.WriteLine("Number value: −53,000, Notation: " + NumberToNotation(-53000));
Console.WriteLine("Number value: 6,720,000,000, Notation: " + NumberToNotation(6720000000));
Console.WriteLine("Number value: 0.000 000 007 51, Notation: " + NumberToNotation(0.00000000751));
Console.WriteLine("Notation: 2.00E+000 Number value: " + NotationToNumber("2.00E+000"));
Console.WriteLine("Notation: 4.32E+003 Number value: " + NotationToNumber("4.321768E+003"));
Console.WriteLine("Notation: -5.30E+004 Number value: " + NotationToNumber("-5.30E+004"));
Console.WriteLine("Notation: 6.72E+009 Number value: " + NotationToNumber("6.72E+009"));
Console.WriteLine("Notation: 7.51E-009 Number value: " + NotationToNumber("7.51E-009"));