【问题标题】:How can I use Math Ceiling RoundUp How to determine even odd number如何使用 Math Ceiling RoundUp 如何确定偶数奇数
【发布时间】:2011-09-08 21:25:52
【问题描述】:

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

  1. 每一方对​​该信息都有不同的安排。
  2. 每一边只能保存来自树行的信息,所以:
  3. 第 1、第 2 和第 3 行在第 1 侧;
  4. 第 4 行、第 5 行和第 6 行在第 2 侧;
  5. 第 7 行、第 8 行和第 9 行在第 1 侧;
  6. 10th、11th 和 12th 位于第 2 侧;等等。

我将选择要打印的组。

我打算这样做:

  1. ((row.Index) +1) / 3,
  2. 四舍五入,不带小数,得到一个整数,(如上面的 excel 图片),
  3. 将该整数乘以 2,(如上面的 excel 图像中所示)。

如果那个MOD乘2的结果是1,那么它会打印Side 1排列, 如果那个MOD乘2的结果是0,那么它会打印Side 2排列。

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

【问题讨论】:

    标签: c# decimal modulo ceil roundup


    【解决方案1】:

    我认为您不需要使用类似的东西:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-28
      • 2020-12-24
      • 2013-03-05
      • 1970-01-01
      • 2015-02-13
      相关资源
      最近更新 更多