[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: locale-dependent number parsing?
From: |
Mike Gran |
Subject: |
Re: locale-dependent number parsing? |
Date: |
Mon, 5 Apr 2010 10:19:29 -0700 (PDT) |
>From: Linas Vepstas <address@hidden>
>
>I've found the following bug/feature with guile-1.8.7 and would like to
>solicit for comments.
>Is this a guile bug? What's the proper work-around?
>
>I've got a C program that does a setlocale (LC_ALL, ""); printf ("%f",
>0.2000);
>
>In the de_DE.utf8 locale, the result of the print is 0,2000 using a comma,
>since
>the comma is the "decimal separator" in most European locales. This numeric
>string is then passed to scm_eval_string() which pukes on it, because it does
>not
>recognize 0,2 as a valid number. This can be confirmed at the guile
>command
>line interpreter, which pukes on guile> (+ 0,2 0,2) but works fine on (+ 0.2
>0.2)
>even in the de_DE locale.
>
>Is this really the expected behaviour? Is there a suggested work-around?
I know that for the pre-2.0 Guile, I tried to punt that problem upstream to
libunistring, but, it is not likely to be implemented in libunistring.
http://savannah.gnu.org/support/?106998
But, I never got around to working on it, myself.
-Mike