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

Ale*_*lex 0 c# decimal modulo ceil roundup

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

  1. 每一方都有不同的信息安排.
  2. 每一方只能从树行中保存信息,因此:
  3. 第1排,第2排和第3排在第1侧;
  4. 第4,5和6排在第2侧;
  5. 排第7,第8和第9排;
  6. 10日,11日和12日进入第2侧; 等等.

我将选择要打印的组.

我打算这样做: 在此输入图像描述

  1. ((row.Index)+1)/ 3,
  2. 四舍五入,没有小数,得到一个整数,(如上面的excel图像),
  3. MOD表示整数乘以2,(如上图所示).

如果该MOD的结果为2,那么它将打印Side 1排列,如果该MOD的结果为2,则它将打印Side 2排列.

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

Jon*_*eet 6

我没有看到你需要使用这样的东西:

int zeroBasedRow = row - 1;
int side = ((zeroBasedRow / 3) % 2) + 1;
Run Code Online (Sandbox Code Playgroud)

测试代码:

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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

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
Run Code Online (Sandbox Code Playgroud)