int不受Math.Round的影响

时间:2012-06-14 06:19:09

标签: c# php .net .net-4.0 rounding

我现在有这段代码:我只是尝试将PHP转换为C#

if (round($mounth)<="6") {
    $startYear=$year-1;
    $startMounth="-07";
    $startDay="-01";
    $endYear=$year;
    $endMounth="-06";
    $endDay="-30";
}

这里我试图转换为C#代码。但我刚刚开始编码,我得到了错误。我认为.NET的原因不正确。

if (Math.Round(month <= 6)
{
    string StartYear = Year-1;
}

6 个答案:

答案 0 :(得分:4)

您需要整月不是(month <= 6)

if(Math.Round(month) <= 6)
          {

          }

编辑:由于您提到月份是今天。因此,它是int类型,您不需要将其舍入。它应该是

if(month <= 6)
          {

          }

答案 1 :(得分:2)

你的意思是:

if(Math.Round(month) <= 6)
      {

      }

答案 2 :(得分:0)

因为月份是一个int(你告诉我int month = today.Month;),你应该只使用

if (month <= 6) 
{ 
    // ... 
}

您的代码失败,因为您的括号错误而且您没有舍入浮点数或双倍但是布尔值。无论如何,我再说一遍:月份是一个整数,所以你不需要围绕它。

答案 3 :(得分:0)

您缺少一个括号。请改用: -

if(Math.Round(month) <= 6)
          {

          }

答案 4 :(得分:0)

你应该整月,而不是条件。

if (Math.Round(month) <= 6)
{
}

答案 5 :(得分:0)

这是关于math.round的一个很好的讨论....但请使用DateTime来定义时间点,使用TimeSpan来定义持续时间。你可以比较它们,添加它们等。不需要将PHP hack移植到C#