int형의 자릿수를 세는 방법은,
1. 문자열로 바꿔서 길이를 측정
2. 10으로 나눠가며 자릿수를 직접 세는 방법
정도가 일반적일 것이다.
여기서 설명하려는 방법은 log10을 이용해 자릿수를 구하는 방법이다.
필요헤더
#include <math.h>
1
2
|
int num = 77778899;
int len = (int)log10(num) + 1;
|
cs |
len의 값은 8이 나온다.
단, 0이나 음수의 자릿수는 구하지 못한다.
1
2
|
double num = 789.1234;
int len = (int)log10(num) + 1;
|
cs |
len의 값은 3이 나온다.
이와 같이 소수의 자릿수도 셀 수 있다.
단, 0.xxx나 음수의 자릿수는 구하지 못한다.