/// <summary> /// 按照plex的购买套餐计算isk价值以及脑浆价值 默认6 数组0为plex 1为脑浆 /// </summary> /// <param name="i">plex套餐 仅可用1 2 6 12 28</param> /// <returns></returns> public double[] isk(int i = 6) { double[] dou = new double[2]; double usd = getRMBtoUSD() / 100; //获取每1usd等于多少rmb api api = new api(); EVE_Central.Model.PLEX plex = new Model.PLEX(); plex.PLEX1 = 19.95; plex.PLEX2 = 34.99; plex.PLEX6 = 104.97; plex.PLEX12 = 209.94; plex.PLEX28 = 489.86; double plexusd = 0; switch (i)//每plex等于多少usd { case 1: plexusd = plex.PLEX1 / i; break; case 2: plexusd = plex.PLEX2 / i; break; case 6: plexusd = plex.PLEX6 / i; break; case 12: plexusd = plex.PLEX12 / i; break; case 28: plexusd = plex.PLEX28 / i; break; } plexusd = Math.Round(plexusd, 4);//节约资源限制小数位 Model.marketstat markstatplex = new Model.marketstat(); Model.marketstat markstatsk = new Model.marketstat(); markstatplex = api.marketstat(29668); //plex markstatsk = api.marketstat(40520); //脑浆 int plexe = (int)(Convert.ToDouble(markstatplex.buy_max) / 100000000); //得出plex多少e isk int ske = (int)(Convert.ToDouble(markstatsk.sell_min) / 100000000); //获得脑浆数据 dou[0] = (plexusd / plexe) * usd; dou[1] = dou[0] * ske; dou[0] = Math.Round(dou[0], 3) * 10; dou[1] = Math.Round(dou[1], 2); return(dou); }
public Model.marketstat marketstat(int typeID) { string url = "http://api.eve-central.com/api/marketstat?typeid=" + typeID.ToString() + "&usesystem=30000142"; XmlDocument doc = new XmlDocument(); doc.Load(url); //XmlNodeList Xmllist = doc.GetElementsByTagName("evec_api"); XmlNode xn = doc.SelectSingleNode("evec_api"); XmlNode xn1 = xn.SelectSingleNode("marketstat"); XmlNode xn2 = xn1.SelectSingleNode("type"); XmlNode Xnsbuy = xn2.SelectSingleNode("buy"); XmlNode Xnssell = xn2.SelectSingleNode("sell"); Model.marketstat mark = new Model.marketstat(); XmlNodeList xnl0 = Xnsbuy.ChildNodes; mark.buy_avg = xnl0.Item(1).InnerText; mark.buy_max = xnl0.Item(2).InnerText; mark.buy_min = xnl0.Item(3).InnerText; mark.buy_median = xnl0.Item(5).InnerText; XmlNodeList xnl1 = Xnssell.ChildNodes; mark.sell_avg = xnl1.Item(1).InnerText; mark.sell_max = xnl1.Item(2).InnerText; mark.sell_min = xnl1.Item(3).InnerText; mark.sell_median = xnl1.Item(5).InnerText; return(mark); }