System.Globalization.FormatProvider.Number.RoundNumber C# (CSharp) Метод

RoundNumber() приватный статический Метод

private static RoundNumber ( NumberBuffer &number, int pos ) : void
number NumberBuffer
pos int
Результат void
            private static unsafe void RoundNumber(ref NumberBuffer number, int pos)
            {
                char* dig = number.digits;

                int i = 0;
                while (i < pos && dig[i] != 0)
                    i++;

                if (i == pos && dig[i] >= '5')
                {
                    while (i > 0 && dig[i - 1] == '9')
                        i--;

                    if (i > 0)
                    {
                        dig[i - 1]++;
                    }
                    else
                    {
                        number.scale++;
                        dig[0] = '1';
                        i = 1;
                    }
                }
                else
                {
                    while (i > 0 && dig[i - 1] == '0')
                        i--;
                }
                if (i == 0)
                {
                    number.scale = 0;
                    number.sign = false;
                }
                dig[i] = '\0';
            }