/* $Header$ */ #ifndef NOFLOAT extern char *fcvt(); extern char *ecvt(); char * _pfloat(r,s,n,b) double r; register char *s; { register char *s1; int sign,dp; register int i; if (b == 0) n = 6; s1 = fcvt(r,n,&dp,&sign); if (sign) *s++ = '-'; if (dp<=0) *s++ = '0'; for (i=dp; i>0; i--) if (*s1) *s++ = *s1++; else *s++ = '0'; if ((i=n) > 0) *s++ = '.'; while (++dp <= 0) { if (--i<0) break; *s++ = '0'; } while (--i >= 0) if (*s1) *s++ = *s1++; else *s++ = '0'; return(s); } char *_pscien(r,s,n,b) float r; register char *s; { int sign,dp; register char *s1; if (b == 0) n = 7; else n += 1; s1 = ecvt(r,n,&dp,&sign); if (sign) *s++ = '-'; *s++ = *s1++; *s++ = '.'; while (--n>0) if (*s1) *s++ = *s1++; else *s++ = '0'; *s++ = 'e'; if ( r ) --dp ; if ( dp<0 ) { *s++ = '-' ; dp= -dp ; } else { *s++ = '+' ; } if (dp >= 100) { *s++ = '0' + (dp / 100); dp %= 100; } *s++ = '0' + (dp/10); *s++ = '0' + (dp%10); return(s); } #endif