This example shows how to convert a Unicode string to a double precision floating point number.

#include <stdio.h>
#include <unidef.h>

int main(void) {

LocaleObject  locale_object;

UniChar       uni_string[] = L"3.1415926This stopped it";
UniChar       *uni_stop_string;
double        double_num;
int           rc;


         /*****************************************************************/
         /* Assumes LANG environment variable set to a valid locale name, */
         /* such as fr_FR                                                 */
         /*****************************************************************/

         rc = UniCreateLocaleObject(UNI_UCS_STRING_POINTER,
                                   (UniChar *)L"", &locale_object);

         if (rc != ULS_SUCCESS) {
           printf("UniCreateLocaleObject error: return code = %u\n", rc);
           return 1;
         }

         rc = UniStrtod(locale_object, uni_string, &uni_stop_string,
                        &double_num);

         if (rc != ULS_SUCCESS) {
           printf("UniStrtod error: return code = %u\n", rc);
           return 1;
         }

         else {
           printf("The double precision number is %f\n", double_num);
           return (ULS_SUCCESS);
         }


}


[Back: UniStrtod - Related Functions]
[Next: UniStrtod - Topics]