title: Use decimal in a column in a datatable
body: <p>I can make a datatable fine as long as I use strings and as long as my int is an even number but when I want to use a number with a period in it I get errors.</p>
  
  <pre><code>        static DataTable GetTable()
      {            
          DataTable table = new DataTable();
  
          table.Columns.Add("Date", typeof(string));
          table.Columns.Add("Item Name", typeof(string));
          table.Columns.Add("Buyer", typeof(string));
          table.Columns.Add("Quantity", typeof(int));
          table.Columns.Add("Price", typeof(string)); //I want this to be a decimal or whatever
  
  
          using (TextFieldParser parser = new TextFieldParser("c:\\folder\\sold.csv"))
          {
              parser.CommentTokens = new string[] { "#" };
              parser.SetDelimiters(new string[] { "," });
              parser.HasFieldsEnclosedInQuotes = true;
  
              parser.ReadLine();
  
              while (!parser.EndOfData)
              {
                  string[] fields = parser.ReadFields();
  
                  table.Rows.Add(fields[0], fields[1], fields[2], fields[3], fields[4]);
               }
          }
          return table;
      }
  </code></pre>
  
  <p>The "Quantity" don't mind being an int since it's a "1" or a "2" but the "Price" gives me errors when it's "21.56" and so on. What am I missing?</p>
  
  <p>I'm also having problems getting the "Date" to be a "DateTime" when it's "8/31/16" but I'm assuming that's because it actually needs to be three ints instead of a string...</p>
  
  <p>Edit
  It seemed it was a culture problem, I'm from Sweden and we use commas instead of decimals. Here's the code in case anyone is curious, I'm sure there's a more elegant way of doing this though.</p>
  
  <pre><code>        static DataTable GetTable()
      {            
          DataTable table = new DataTable();
  
          table.Columns.Add("Date", typeof(DateTime));
          table.Columns.Add("Item Name", typeof(string));
          table.Columns.Add("Buyer", typeof(string));
          table.Columns.Add("Quantity", typeof(int));
          table.Columns.Add("Price", typeof(decimal));
  
          using (TextFieldParser parser = new TextFieldParser("c:\\folder\\sold.csv"))
          {
              parser.CommentTokens = new string[] { "#" };
              parser.SetDelimiters(new string[] { "," });
              parser.HasFieldsEnclosedInQuotes = true;
  
              parser.ReadLine();
  
              while (!parser.EndOfData)
              {
                  string[] fields = parser.ReadFields();
  
                  table.Rows.Add(DateTime.ParseExact(fields[0], "MM/dd/yy", null), fields[1], fields[2], int.Parse(fields[3]), Convert.ToDecimal(fields[4], new CultureInfo("en-US")));
              }
          }
          return table;
      }
  </code></pre>