using System; using CPF.ReoGrid.Core; namespace CPF.ReoGrid.DataFormat { internal class GeneralDataFormatter : IDataFormatter { public string FormatCell(Cell cell) { object innerData = cell.InnerData; bool flag = false; double num = 0.0; bool flag2 = innerData is int; if (flag2) { num = (double)((int)innerData); flag = true; } else { bool flag3 = innerData is double; if (flag3) { num = (double)innerData; flag = true; } else { bool flag4 = innerData is float; if (flag4) { num = (double)((float)innerData); flag = true; } else { bool flag5 = innerData is long; if (flag5) { num = (double)((long)innerData); flag = true; } else { bool flag6 = innerData is short; if (flag6) { num = (double)((short)innerData); flag = true; } else { bool flag7 = innerData is decimal; if (flag7) { num = (double)((decimal)innerData); flag = true; } else { bool flag8 = innerData is string; if (flag8) { string text = (string)innerData; bool flag9 = text.StartsWith(" ") || text.EndsWith(" "); if (flag9) { text = text.Trim(); } flag = double.TryParse(text, out num); bool flag10 = flag; if (flag10) { cell.InnerData = num; } } } } } } } } bool flag11 = flag; string result; if (flag11) { bool flag12 = cell.InnerStyle.HAlign == ReoGridHorAlign.General; if (flag12) { cell.RenderHorAlign = ReoGridRenderHorAlign.Right; } result = Convert.ToString(num); } else { result = null; } return result; } public string[] Formats { get { return null; } } public bool PerformTestFormat() { return true; } } }