sql >> Base de Datos >  >> RDS >> Mysql

¿Por qué aparece M en Clojure MySQL Query Results?

M sufijo significa que el número es BigDecimal . Puedes comprobar esto en REPL

user=> (class 1)
java.lang.Long
user=> (class 1.0)
java.lang.Double
user=> (class 1M)
java.math.BigDecimal

Dado que el tipo de columna de su base de datos es decimal(5,2) y decimal(7,2) , no es seguro convertir los números a float o double porque ese tipo de coma flotante no puede representar todos los números de decimal(5,2) o decimal(7,2) con precisión.

Puede buscar en Google con la palabra clave "inexactitud de coma flotante". Hay toneladas de artículos y preguntas y respuestas, también dentro de Stackoverflow.