我把出問題的函數提出來,大家看看什么問題。
- void number_char(double num ,char *pch)
- {
- int i=0, j=0;
- long k=1, zs=0;
- while((long)num > 10*k)
- k *= 10;
- for(i=0; k>=1;i++)
- {
- pch[i] = ((long)num)%(10*k)/k+48;
- k /= 10;
- }
- pch[i]=46;
- for(j=0; j<i; j++)
- {
- zs *= 10;
- zs += pch[j]-48;
- }
- num -= zs;
- while(num > 0.0000001 && i<18)
- {
- num *= 10.0;
- i++;
- pch[i] = ((long)num)/1+48;
- num = num- ((long)num)/1;
- }
- }
復制代碼 |