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';
}