測浮點數的位數牽扯到一個精度的問題,用普通的測整形數值的方法不能實現,因而我本身寫了一個測浮點數的函數。函數
#include <stdio.h> //for printf int length(double num) { int len=0; while(num>0.001)//這裏很是重要:控制精確到小數點後第幾位(取值影響計數結果) { num=num/10; printf("%d : %f\n",len,num); len++; } return len; } int main(void) { printf("%d",length(12345.678)); return 0; }