【问题标题】:How to get the sales per month?如何获得每月的销售额?
【发布时间】:2020-07-13 02:24:58
【问题描述】:

我有一个包含 [365] 元素的数组,用于存储每天的销售额。我的问题是如何将这些天归类为 12 个月?

感谢你们的帮助!

【问题讨论】:

  • 请注意,并非所有年份都有 365 天。
  • 你是什么意思“排序”到几个月?创建 12 个数组,每个月一个?
  • “每天的销售额”从什么时候开始?
  • 提供数据样本,否则我们帮不上忙
  • 我知道,不是所有年份都有 365 天,但我现在的任务是只确定有 365 年的年份。所以我认为我应该创建一个包含 12 个元素的数组,代表每月的总销售额。一个数组元素代表一个月的总销售额。每天的第一笔销售从一年的第一天开始。

标签: c# arrays sorting for-loop element


【解决方案1】:

这是一个“弱”问题,您需要学习如何在本网站上解决问题。 https://stackoverflow.com/help/how-to-ask

您的问题的可能解决方案如下:

     public class SalesInfo
{
    public DateTime Day { get; set; }
    public decimal Value { get; set; }

    public Array GetSalesByMonth(SalesInfo[] items)
    {
        return items.GroupBy(x => x.Day.Month).Select(x => new
        {
            Month=x.Key,
            SalesValue=x.Sum(a=>a.Value)
        }).ToArray();
    }
}

希望我的例子可以帮助到你。

【讨论】:

    【解决方案2】:

    我假设您的销售使用某种儒略日期格式(可能是截断形式)运行,其中 0 相当于 1 月 1 日。

    因为你还没有发布任何代码,我也不会,所以这里。

    您需要知道年份 - 以便计算您是否处于闰年,在这种情况下,您需要 366 天而不是 365 天。有可用的算法。

    您还需要知道每个月有多少天,以便在闰年的二月多出一天。

    然后,您可以索引您的销售数据,随时添加元素,将结果放置在您存储当月结果的任何位置,直到您索引到下个月,例如index = 0 表示 1 月 1 日,index = 31 表示 2 月 1 日。请记住在每个月初将结果重置为 0。

    现在,欢迎您回来发布一些代码,如果它不起作用,我们将非常乐意帮助您修复/定位任何错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-08
      • 1970-01-01
      • 1970-01-01
      • 2021-05-25
      • 1970-01-01
      • 2021-10-12
      • 2022-10-04
      • 1970-01-01
      相关资源
      最近更新 更多