Subject Re: String question
From charlie <tm@tc.com>
Date Mon, 13 Nov 2023 12:44:09 -0500
Newsgroups dbase.getting-started


Thanks very much for the suggestion.  I guess I don't get how this will help as the result seems to delete the commas and is numeric.  I am looking for something that will add the commas and the result stays character string.

Edward Racht Wrote:

> Greetings - Charlie,
>
> Check out the dUFLP - StringEX.cc
>
>     function Text2Num
>        /*
>           -------------------------------------------------------------
>           Programmer..: Akshat Kapoor
>           Date........: August, 2021
>           Notes.......: Converts a character string with a numeric
>                         value to the appropriate numeric value
>                         in dBASE. Created to deal with input from
>                         a CSV file, where many different issues
>                         come up with numeric formats. The difficulty
>                         is if the string has the "thousands" separator
>                         (123,456.12), and it is a string, the val()
>                         function stops at the separator, and returns
>                         123, instead of the full numeric value. Other
>                         issues such as negative numbers in parens,
>                         different decimal point symbols for different
>                         parts of the world, make things even more fun.
>           Written for.: dBASE 2019
>           Rev. History: August, 2021 -- KJM -- with Akshat's permission
>                          co-opted it for the Import Data routines in the
>                          dUFLP.
>           Calls.......: None
>           Usage.......: Text2Num( <cNumber>, <cDecimal> )
>           Example.....: ? Text2Num( "123,456.12", "." )   --> 123456.12
>                         ? Text2Num( "123.456,12", "," )   --> 123456.12
>                         ? Text2Num( "(123.456,12)", "," ) --> -123456.12
>           Returns.....: numeric value with no formatting except for
>                         decimal
>           Parameters..: cNumber = character string containing numeric value
>                                   with whatever formatting is in the string
>                         cDecimal = decimal point character. Default is "."
>
>           NOTE: This is designed specifically for the purpose of converting
>           numeric values that are stored in strings, to their actual
>           numeric value. If you pass, say, a phone number string to this
>           function, the results will be odd, to say the least.
>           -------------------------------------------------------------
>
> ed
>