On Tue, 7 Oct 2008 12:09:55 -0400, "Antonio Cangiano" <[EMAIL PROTECTED]> wrote: > On Tue, Oct 7, 2008 at 11:58 AM, Daniele Varrazzo <[EMAIL PROTECTED]> wrote: >> No, non lo è. Io di solito aggiro la cosa con: >> >> In [1]: s = "20,90" >> >> In [2]: print float(s.replace(",", ".")) >> 20.9 > > Occhio che gli ammerregani usano la virgola per separare gruppi di cifre: > >>>> s = "10,239.59" >>>> print float(s.replace(",",".")) > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > ValueError: invalid literal for float(): 10.239.59
Ipotizzo che l'OP usi un computer italiano (con sopra installato windows) e debba parsare numeri emessi da un programma su tale piattaforma. Ipotizzo anche che non ci sia un separatore decimale, che in Italia è il punto, perché anche in questo caso ("12.345,67") la mia ricetta fallirebbe. Ovviamente è banale risolvere il problema: In [3]: s = "12.345,67" In [4]: print float(s.replace(".","").replace(",", ".")) 12345.67 ma è scontato (e ora lo splicito anche) che funziona solo se si sa quale formato si sta convertendo, non se lo si applica a una stringa dalla formattazione sconosciuta. -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python