es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Python – Guardar valor numérico en una base de datos MySQL sin notación científica

Estoy haciendo una encuesta a una API y recibiendo valores numéricos que necesitan ser guardados en la base de datos.

Los valores pueden tener la apariencia de 0.87199 o a veces 5,43e-06 o en otras ocasiones 2.2e-11.

Quiero guardarlo en la base de datos en su forma normal (es decir, sin el exponente). ¿Cómo puedo hacer que Python los convierta de forma no científica? Todas las respuestas que he encontrado hasta ahora requieren que redondee los valores a un número fijo de lugares decimales. Pero quiero que el número de lugares decimales sea dinámico según el valor e, y no fijo para cada caso.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Puede utilizar la clase Decimal del módulo decimal para convertir los valores sin formato científico. La clase Decimal proporciona un método normalize que se puede utilizar para convertir los valores a su forma normal.

    Por ejemplo:

    from decimal import Decimal
    
    valor = '5.43e-06'
    valor_normalizado = Decimal(valor).normalize()
    print(valor_normalizado) # 0.00000543
    

Comments are closed.