Respostas:
>>> x = "2342.34"
>>> float(x)
2342.3400000000001
Ai está. Use float (que se comporta como e tem a mesma precisão que um duplo C, C ++ ou Java).
float('7.5606e-08')
produz o flutuador python esperado.
>>> x = "2342.34"
e convertido para flutuar >>> float(x)
eu fico 2342.34
em vez do 2342.3400000000001
relatado por @Mongoose
>>> 0.1 + 0.2
para o dobro. >>> 0.1 + 0.6
para flutuar.
Lembre-se de que, se o número da sua string contiver mais de 15 dígitos significativos, float(s)
será arredondado. Nesses casos, é melhor usarDecimal
Aqui está uma explicação e alguns exemplos de código: https://docs.python.org/3/library/sys.html#sys.float_info