Schien Dong came across this function that calculates the spacing of numbers on the Y-axis of a charting component. It works, but in a very mysterious way ....

CHALLENGE POINT: Post a better (or worse) way of accomplishing this roundabout way of rounding.

```private int CalculateGap(int min, int max, int interval)
{
int gap = (int)((max - min) / interval);

string gapString = gap.ToString();
int length = gapString.Length;

// Use the first (and possibly second and third) digit of the
// calculated gap to come up with a reasonable interval
// value to display.
int result = 0;
int firstDigit = 0;
int secondDigit = 0;
int thirdDigit = 0;

if (length > 0)
{
firstDigit = int.Parse(gapString.Substring(0, 1));
}

if (length > 1)
{
secondDigit = int.Parse(gapString.Substring(1, 1));
}

if (length > 2)
{
thirdDigit = int.Parse(gapString.Substring(2, 1));
}

if (thirdDigit >= 5)
{
// Round up
secondDigit++;
}

if (secondDigit >= 5)
{
// Round up
firstDigit++;
}

result = firstDigit * (int)Math.Pow(10, length - 1);

return result;
}```