Borislav Petkov | a17bce4 | 2013-09-30 11:56:24 +0200 | [diff] [blame] | 1 | /* |
| 2 | * Count the digits of @val including a possible sign. |
| 3 | * |
| 4 | * (Typed on and submitted from hpa's mobile phone.) |
| 5 | */ |
Borislav Petkov | 646e29a | 2013-09-27 16:35:54 +0200 | [diff] [blame] | 6 | int num_digits(int val) |
| 7 | { |
Borislav Petkov | a17bce4 | 2013-09-30 11:56:24 +0200 | [diff] [blame] | 8 | int m = 10; |
| 9 | int d = 1; |
Borislav Petkov | 646e29a | 2013-09-27 16:35:54 +0200 | [diff] [blame] | 10 | |
Borislav Petkov | a17bce4 | 2013-09-30 11:56:24 +0200 | [diff] [blame] | 11 | if (val < 0) { |
| 12 | d++; |
| 13 | val = -val; |
Borislav Petkov | 646e29a | 2013-09-27 16:35:54 +0200 | [diff] [blame] | 14 | } |
| 15 | |
Borislav Petkov | a17bce4 | 2013-09-30 11:56:24 +0200 | [diff] [blame] | 16 | while (val >= m) { |
| 17 | m *= 10; |
| 18 | d++; |
| 19 | } |
| 20 | return d; |
Borislav Petkov | 646e29a | 2013-09-27 16:35:54 +0200 | [diff] [blame] | 21 | } |