commit of r41847 - in python/trunk: Lib/test/test__locale.py Python/ast.c
Author: fredrik.lundh Date: Thu Dec 29 21:35:52 2005 New Revision: 41847 Modified: python/trunk/Lib/test/test__locale.py python/trunk/Python/ast.c Log: SF#1391872 Floating point literals don't work in non-US locale in 2.5. Patch and new locale tests by Hye-Shik Chang. Modified: python/trunk/Lib/test/test__locale.py ============================================================================== --- python/trunk/Lib/test/test__locale.py (original) +++ python/trunk/Lib/test/test__locale.py Thu Dec 29 21:35:52 2005 @@ -97,6 +97,18 @@ loc, set_locale)) + def test_float_parsing(self): + # Bug #1391872: Test whether float parsing is okay on European + # locales. + for loc in candidate_locales: + try: + setlocale(LC_NUMERIC, loc) + except Error: + continue + self.assertEquals(int(eval('3.14') * 100), 314) + self.assertEquals(int(float('3.14') * 100), 314) + + def test_main(): run_unittest(_LocaleTests) Modified: python/trunk/Python/ast.c ============================================================================== --- python/trunk/Python/ast.c (original) +++ python/trunk/Python/ast.c Thu Dec 29 21:35:52 2005 @@ -2773,7 +2773,7 @@ if (imflag) { c.real = 0.; PyFPE_START_PROTECT("atof", return 0) - c.imag = atof(s); + c.imag = PyOS_ascii_atof(s); PyFPE_END_PROTECT(c) return PyComplex_FromCComplex(c); } @@ -2781,7 +2781,7 @@ #endif { PyFPE_START_PROTECT("atof", return 0) - dx = atof(s); + dx = PyOS_ascii_atof(s); PyFPE_END_PROTECT(dx) return PyFloat_FromDouble(dx); }
participants (1)
-
fredrik.lundh