如何使用Math Ceiling RoundUp如何确定偶数奇数

时间:2011-09-08 21:25:53

标签: c# decimal modulo ceiling roundup

我需要在预打印表单的两面打印DataGridView中的数据,但是:

  1. 每一方都有不同的信息安排。
  2. 每一方只能保存树行的信息,所以:
  3. 第1,​​第2和第3行进入第1侧;
  4. 第4行,第5行和第6行进入第2行;
  5. 第7,第8和第9行进入第1行;
  6. 10日,11日和12日进入第2侧;等等。
  7. 我将选择要打印的组。

    我打算这样做: enter image description here

    1. ((row.Index)+1)/ 3,
    2. 向上舍入,没有小数,得到一个整数,(如上面的excel 图像),
    3. MOD整数乘2,(如上图所示)。
    4. 如果MOD的结果为2,那么它将打印Side 1排列, 如果该MOD的结果为2,那么它将打印Side 2排列。

      • 我如何在C#中完成?我正在使用VS2010 Express Edition。还有,我 想使用System.Math.Ceiling,但我得到一个命名空间,十进制, 双精度和浮点数警告或错误。

1 个答案:

答案 0 :(得分:6)

我不认为你需要使用这样的东西:

int zeroBasedRow = row - 1;
int side = ((zeroBasedRow / 3) % 2) + 1;

测试代码:

using System;

class Test
{
    static void Main(string[] args)
    {
        for (int row = 1; row <= 12; row++)
        {
            int zeroBasedRow = row - 1;
            int side = ((zeroBasedRow / 3) % 2) + 1;
            Console.WriteLine("Row {0} goes on side {1}", row, side);
        }
    }
}

输出:

Row 1 goes on side 1
Row 2 goes on side 1
Row 3 goes on side 1
Row 4 goes on side 2
Row 5 goes on side 2
Row 6 goes on side 2
Row 7 goes on side 1
Row 8 goes on side 1
Row 9 goes on side 1
Row 10 goes on side 2
Row 11 goes on side 2
Row 12 goes on side 2