private static string GetNumber(string nv) { if (StringUtil.ContainsNumber(nv)) { try { double d = double.Parse(nv); if (d == d) { return(d.ToString()); } else { return(d.ToString()); } } catch (Exception) { if (!ncache.ContainsKey(nv)) { string r = null; try { string v = FormulaUtil.GetValue(nv, fMap).ToString(); double d = double.Parse(v); if (d == d) { r = d.ToString(); } else { r = d.ToString(); } } catch (Exception) { r = nv; } ncache[nv] = r; if (ncache.Count > 1000) { ncache.Remove(ncache.Keys.Iterator().Next()); } } return(ncache[nv]); } } else { return(nv); } }
private static double GetDouble(string nv, IEventArgs args) { nv = ReplaceVar(nv, args); if (nv != null && StringUtil.ContainsNumber(nv)) { try { return(double.Parse(nv)); } catch (Exception) { if (!doubleCache.ContainsKey(nv)) { double r = 0d; try { string v = FormulaUtil.GetValue(nv, fMap).ToString(); r = double.Parse(v); } catch (Exception) { } doubleCache[nv] = r; if (doubleCache.Count > 10000) { doubleCache.Remove(doubleCache.Keys.Iterator().Next()); } } return(doubleCache[nv]); } } else { return(0d); } }