FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Function to determine the number of decimal places?
Posts: 142
Joined: Tue Jan 24, 2006 09:45 AM
Function to determine the number of decimal places?
Posted: Sun Jun 17, 2007 10:20 AM

Hello everyone,

Long time - no post!

I have been pulling my hair out to work this one out and I just do not seem to be able to get it right:

Is there a function that will return the number of decimal places that a number has?

Examples:

1.9873 has 4 decimal places
13.15 has 2 decimal places
9780 has 0 decimal places
655.39 has 2 decimal places

and so on and so forth.

Regards,

Dale.

Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Function to determine the number of decimal places?
Posted: Sun Jun 17, 2007 10:27 AM
FUNCTION MAIN()

    ? NDEC( 1.9873 )
    ? NDEC( 13.15 )
    ? NDEC( 9780 )
    ? NDEC( 655.39 )

    RETURN NIL


FUNCTION NDEC( nVal )

    LOCAL cVal := STR( nVal )

    LOCAL nDec := AT( ".", cVal )

    IF nDec > 0; nDec = LEN( cVal ) - nDec; ENDIF

    RETURN nDec


EMG

Continue the discussion