namespace Vision.Core.Extensions { public static class Int64Extensions { public static int Digits(this long n) { if (n >= 0) { if (n < 10L) return 1; if (n < 100L) return 2; if (n < 1000L) return 3; if (n < 10000L) return 4; if (n < 100000L) return 5; if (n < 1000000L) return 6; if (n < 10000000L) return 7; if (n < 100000000L) return 8; if (n < 1000000000L) return 9; if (n < 10000000000L) return 10; if (n < 100000000000L) return 11; if (n < 1000000000000L) return 12; if (n < 10000000000000L) return 13; if (n < 100000000000000L) return 14; if (n < 1000000000000000L) return 15; if (n < 10000000000000000L) return 16; if (n < 100000000000000000L) return 17; if (n < 1000000000000000000L) return 18; return 19; } else { if (n > -10L) return 2; if (n > -100L) return 3; if (n > -1000L) return 4; if (n > -10000L) return 5; if (n > -100000L) return 6; if (n > -1000000L) return 7; if (n > -10000000L) return 8; if (n > -100000000L) return 9; if (n > -1000000000L) return 10; if (n > -10000000000L) return 11; if (n > -100000000000L) return 12; if (n > -1000000000000L) return 13; if (n > -10000000000000L) return 14; if (n > -100000000000000L) return 15; if (n > -1000000000000000L) return 16; if (n > -10000000000000000L) return 17; if (n > -100000000000000000L) return 18; if (n > -1000000000000000000L) return 19; return 20; } } } }