¿Qué tipo (Float o decimal) se usa mejor para almacenar precios en una base de datos mysql?¿Flotante o decimal para los precios?
Respuesta
Los flotantes no son exactos y pueden presentar errores de redondeo acumulativos. Decimal es el mejor formato de información financiera que debe ser exacto.
El decimal tampoco es exacto, pero no es exacto en una camino que esperamos. –
Si el significado del comentario de Michael no está claro, vea su respuesta a continuación. – MaxVT
Para los cálculos financieros se utiliza decimal
Según IEEE 754 flotadores eran siempre binarios, sólo los nuevos formatos IEEE 754R decimales definido estándar. Muchas de las partes binarias fraccionarias nunca pueden igualar la representación decimal exacta. Cualquier número binario se puede escribir como m/2^n (m, n enteros positivos), cualquier número decimal como m/(2^n * 5^n). Como los binarios carecen del factor primo 5, todos los números binarios se pueden representar exactamente por decimales, pero no al revés.
0.3 = 3/(2^1 * 5^1) = 0.3
0.3 = [0.25/0.5] [0.25/0.375] [0.25/3.125] [0.2825/3.125]
1/4 1/8 1/16 1/32
Así que para los cálculos financieros se utiliza decimal no flota
por favor utilice BigDecimal, ya que es la mejor para los precios, ya que los peniques se redondean adecuadamente al dólar.
Joshua Bloch recomienda BigDecimal.
¿Ves una etiqueta "java" en alguna parte? –
@Michael me tienes !! . Utilizo para buscar un nuevo filtro de preguntas por Java, así que tengo esta pregunta. –
Cuando almacenamos un número en flotante no guardamos el número exacto, es una aproximación. La parte entera obtiene la prioridad y la parte fraccionaria es tan cercana como el tamaño de letra. Entonces, si tiene cálculos y necesita resultados precisos, use Decimal.
precios son valores decimales, y se espera que los cálculos en que se comporten como fracciones decimales cuando se trata de redondeo, literales, etc.
eso es exactamente lo que hacen los tipos decimales.
flotadores se almacenan como fracciones binarias, y lo hacen no se comportan como fracciones decimales - su comportamiento no es lo que la gente con frecuencia utilizan para matemáticas decimal esperar. Lea The Floating-Point Guide para obtener explicaciones detalladas.
Para valores de dinero, nunca use nunca tipos de flotación binarios, ¡especialmente cuando tiene disponible un tipo de decimal perfecto!
- 1. Números de versión flotante, decimal o doble
- 2. Rieles 3 Flotante o decimal para coordenadas GPS
- 3. Decimal/Flotante en mangosta para node.js
- 4. MySQL: tipo de columna preferida para los precios (de productos)?
- 5. Mal en el decimal/flotante python
- 6. Tipo de datos doble o flotante en Flex?
- 7. Convertir Flotante en Decimal (SQL Server)
- 8. RegEx para precios?
- 9. API para obtener los mejores precios del gas, como GasBuddy?
- 10. Buscando una biblioteca flotante medio o flotante
- 11. Punto decimal o coma decimal en Android
- 12. ¿El tipo de datos "MONEY" de SQL Server es un punto flotante decimal o un punto flotante binario?
- 13. Diferencia entre numérico, flotante y decimal en SQL Server
- 14. Display valor flotante w/o notación científica
- 15. para comparar el doble y el decimal ¿Debería convertir doble a decimal o decimal a doble?
- 16. Cómo representar 0.1 en punto flotante Aritmética y decimal
- 17. Cómo usar punto flotante decimal en Gnu C++ (g ++)?
- 18. API para obtener precios de gas
- 19. Obtener la parte decimal de un número flotante
- 20. Número entero o número decimal
- 21. SQL Server BIGINT o DECIMAL (18,0) para la clave principal
- 22. Punto flotante o punto fijo para aplicaciones Android NDK OpenGL?
- 23. de expresiones regulares para decimal o de un panel
- 24. Comprensión de los problemas de punto flotante
- 25. ¿Cómo raspar los datos de precios de kayak.com?
- 26. Rutas de optimización de doble o flotante
- 27. decimal (s, p) o número (s, p)?
- 28. Descargar los precios de las acciones de Yahoo en R
- 29. ¿Hay una biblioteca de matemáticas decimal para JavaScript?
- 30. Magento Cart API que no muestra los precios
¿Qué base de datos? Algunos como Oracle solo tienen decimal – Mark
Ver [Usar flotación o decimal para el importe en dólares de la aplicación de contabilidad?] (Http://stackoverflow.com/questions/61872/use-float-or-decimal-for-accounting-application-dollar-amount "Desbordamiento de pila"). – Andrew
Es para una base de datos mysql pero si hay diferencias entre otras me gusta escucharla. – tom