如何在C#中达到更高的10分?

如何在C#中达到更高的10分?,c#,C#,我必须在学校编写一个程序,允许用户输入GTIN-8条码的7位数字,并计算校验位。为了计算校验位,七个输入数字乘以3、1、3、1等 for (i = 0; i < 7; i++) { //Convert String to Character ch = gtinNum[i]; //Convert Character to Integer number = Convert.ToInt32(ch); product = number * weights[

我必须在学校编写一个程序,允许用户输入
GTIN-8
条码的7位数字,并计算校验位。为了计算校验位,七个输入数字乘以3、1、3、1等

for (i = 0; i < 7; i++)
{
    //Convert String to Character
    ch = gtinNum[i];

    //Convert Character to Integer
    number = Convert.ToInt32(ch);
    product = number * weights[i];
    total = total + product;
}//end for loop
(i=0;i<7;i++)的

{
//将字符串转换为字符
ch=gtinNum[i];
//将字符转换为整数
数字=转换为32(ch);
产品=数量*重量[i];
总计=总计+产品;
}//循环结束
在这之后,总数从最近的十个较高的数字中去掉。例如,如果总数是43,那么它将是50-43。 以最简单的方式,我如何取整到更高的10?

你可以使用,你只需要先除以10,然后再乘以10。除以10.0以避免整数除法(
Math.Ceiling
需要
double
):

这将41-50“四舍五入”到50。如果你想从40-49岁开始,你可以使用这个:

int nextHigherTen = (int)Math.Ceiling((num + 1) / 10.0) * 10;

使用模数将值降到0到10之间,然后从10中简单地减去它,怎么样<代码>10-(总计%10)?您可以实际查看从10的下一个最高倍数中减去的实际含义。然后看看是否有一个内置的操作符来做同样的事情。使用纯
int
math它是
total/10*10+10
int nextHigherTen = (int)Math.Ceiling((num + 1) / 10.0) * 10;