【发布时间】:2014-04-14 11:47:35
【问题描述】:
我正在研究一种计算转化率的方法,问题是我为访客分配订单并得到一个结果(整数,如 84),但是当我以相反的方式除以我得到 0.0。
如果我使用计算器分配订单和访问,结果如下所示:
0,0118694362017804
但是我必须将结果显示为百分比,所以我应该以某种方式将结果缩短为 00,00。无论如何,这很奇怪,它不能双向工作,我想知道有什么问题?
控制器方法:
public List<GC_ConversionRateModel> GetConversionReport(GAStatisticsListModel model)
{
DateTime? startDateValue = (model.StartDate == null) ? null
: (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.StartDate.Value, _dateTimeHelper.CurrentTimeZone);
DateTime? endDateValue = (model.EndDate == null) ? null
: (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.EndDate.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1);
List<GAVisitorsModel> VisitorsList = GetGAStatisticsReport(model);
List<GC_OrdersModel> OrdersList = GetOrderReport(model);
List<GC_ConversionRateModel> TotalConversions = new List<GC_ConversionRateModel>();
OrdersList.ForEach(o =>
{
TotalConversions.Add((from v in VisitorsList
where v.Date == o.Date
select new GC_ConversionRateModel(o.Date, v.Visitors / o.TotalOrders)).FirstOrDefault());
});
return TotalConversions;
}
这些是对象类:
GAVisitorsModel:
public class GAVisitorsModel : IGAVisitorsModel
{
public string Date { get; set; }
public int Visitors { get; set; }
public GAVisitorsModel(string _date, string _visitors)
{
Date = _date;
Visitors = _visitors;
}
}
GCOrdersModel:
public class GC_OrdersModel
{
public string Date { get; set; }
public int TotalOrders { get; set; }
public int TotalProducts {get; set;}
public GC_OrdersModel(string _date, int _totalOrders, int _totalProducts)
{
Date = _date;
TotalOrders = _totalOrders;
TotalProducts = _totalProducts;
}
}
GC_ConversionRateModel:
public class GC_ConversionRateModel
{
public string Date { get; set; }
public decimal ConversionRate { get; set; }
public GC_ConversionRateModel(string _date, decimal _conversionRate)
{
Date = _date;
ConversionRate = _conversionRate;
}
}
谢谢
【问题讨论】:
-
同样的问题一次又一次......
标签: c# asp.net-mvc linq type-conversion equation-solving