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

时间:2016-05-31 11:34:36

标签: c#

我必须在学校写一个程序,允许用户输入一个7位数的GTIN-8条形码并计算校验位。要计算校验位,七个输入数字乘以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

之后,总数从最近的十点开始。例如,如果总数为43,那么它将是50-43。 以最简单的方式,我如何围绕更高的十位?

1 个答案:

答案 0 :(得分:4)

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

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

这&#34;轮次&#34; 41-50到50.如果你想要它从40-49你可以使用它:

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