[python] Konverze řetězce na float
Jan Svec
honza na py.cz
Čtvrtek Květen 13 13:43:51 CEST 2004
Ahoj,
problem vyresite pocitacem, ktery misto binarni soustavy pouziva
desitkovou :) Proste 12.2 nikdy v pocitaci nezobrazite. Je to podobne
jako 1/3 v desitkove zobrazite take jako 0.3333333333, ale nikdy to neni
1/3. Zato pokud by byl pocitac s trojkovou soustavou, tak by to bylo
0.1. Jasne? Jinak pro konverzi retezce na float je nejlepsi
float('12.2'). Vice take na http://py.cz/Members/honza kde si najdete
tutorial Pythonu a jeden appendix se tomu venuje.
Honza
On Tue, 11 May 2004, Jan Fuchs wrote:
> Ahoj,
> můžu nějakým způsobem docílit správného převedení řetězce např. "12.2"
> na číslo float 12.2? Zkoušel jsem to dvěmi následujícími způsoby, ale
> ani jeden nefunguje dle mých představ. Lépe řečeno, oba narazí na problém
> ve stejném místě a JÁ nevím jak to obejít.
>
> >>> import string
> >>> import modul
>
> >>> cislo = string.atof("12.2")
> >>> cislo
> 12.199999999999999
> >>> round(cislo, 2)
> 12.199999999999999
>
> >>> modul.string2float("12.2")
> řetězec: 12.2, číslo = 12.200000
> 12.199999999999999
>
> PyObject* string2float(PyObject* self, PyObject* args)
> {
> char *s;
>
> if(!PyArg_ParseTuple(args, "s", &s)) return NULL;
>
> printf("řetězec: %s, číslo = %f\n", s, atof(s));
>
> return Py_BuildValue("f", atof(s));
> }
>
> Dík za případné odpovědi.
>
> S pozdravem Fuky
>
> --
>
> ####################################################################
> # Žádný program není bezchybný, dokonalý ani nejlepší, # Gnu.cz #
> # to samé platí i o lidech a nejen o nich. # Linux.cz #
> # -- Jan Fuchs -- # Debian.cz #
> ####################################################################
> # http://www.asu.cas.cz ICQ: 200 692 177 #
> ####################################################################
> _______________________________________________
> python mailing list
> python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
>
--
S pozdravem .-------------------------.
Jan Svec | Znate jazyk Python? NE? |
| zkuste http://www.py.cz |
.--------------+-------------------------+
| <honza na py.cz> |
| http://www.py.cz/Members/honza |
| honzas na jabber.cz |
`----------------------------------------'
Další informace o konferenci Python