From: "John M. Aldrich" Newsgroups: comp.os.msdos.djgpp Subject: Re: Testing for float or int Date: Thu, 30 Apr 1998 22:54:48 -0400 Organization: Two pounds of chaos and a pinch of salt. Lines: 37 Message-ID: <35493978.6AF8@cs.com> References: <35481B84 DOT 167E AT jcu DOT edu DOT au> NNTP-Posting-Host: ppp126.cs.net Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk Oon Lin wrote: > > I had been surfing around Delorie's lib C online reference for a > function that can test whether an input is in float or int. You could always write one yourself that tests for a decimal point in a numeric value. I wrote something like it to handle floating point input fields in a custom-built TUI. This basically checks each input character: if it's numeric it is accepted; if it is non-numeric it is rejected, and if it's a period it's only accepted if there has not been a previous period in the same number. A very simple function might look like this: int isfloat( const char *str ) { for ( ; *str; str++ ) if ( !isdigit( *str ) ) if ( *str == '.' ) return 1; else return 0; return 0; } The only true condition is if a sequence of digits leads up to a period; otherwise the function returns false. The above code is tested, btw. :-) -- --------------------------------------------------------------------- | John M. Aldrich | "Animals can be driven crazy by pla- | | aka Fighteer I | cing too many in too small a pen. | | mailto:fighteer AT cs DOT com | Homo sapiens is the only animal that | | http://www.cs.com/fighteer | voluntarily does this to himself." | ---------------------------------------------------------------------