Risposte:
>>> x = "2342.34"
>>> float(x)
2342.3400000000001
Ecco qua Usa float (che si comporta come e ha la stessa precisione di un doppio C, C ++ o Java).
float('7.5606e-08')produce il float atteso in pitone.
>>> x = "2342.34" e converto in float >>> float(x) ottengo 2342.34invece il 2342.3400000000001report di @Mongoose
>>> 0.1 + 0.2per doppio. >>> 0.1 + 0.6per galleggiante.
Tieni presente che se il tuo numero di stringa contiene più di 15 cifre significative, float(s)verrà arrotondato. In questi casi è meglio utilizzarloDecimal
Ecco una spiegazione e alcuni esempi di codice: https://docs.python.org/3/library/sys.html#sys.float_info