Citat:
Ursprungligen postat av Heavy.Is.Happy
Det fungerar som smurfmeister sade, men.. när jag lägger in 13.33 i en lista så blir det 13.33000002 eller liknande.
Kod:
>>> a = "13,33"
>>> a = a.replace(",",".")
>>> a = round(a, 2)
13.33
>>> lista = []
>>> lista.insert(0, a)
>>> lista
[13.330000002]
Japp. Generellt så kan du aldrig räkna med att ett flyttal kommer att behålla exakt värdet du förväntar dig. De är, utom i fall du har "tur" och de faktiskt har en exakt binär representation av talet, alltid avrundningar (där "avrundning" alltså innebär avrundning mot närmsta
binära representation, så de behöver inte alls se "avrundade" ut när man ser på dem som decimaltal).
Lite förklaringar och mer info kan hittas på
http://docs.python.org/tutorial/floa...#tut-fp-issues
decimal-modulen finns för att hantera just det här problemet. Personligen brukar jag undvika att använda flyttal alls, om det går.