Ir al contenido


Foto

[Duda MySQL] Qué tipo de dato usar para el precio en Chile?


  • Por favor identifícate para responder
4 respuestas en este tema

#1 Andresaurus

Andresaurus

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 18 noviembre 2014 - 05:06

Hola, muy buenos días a todos, estoy aprendiendo MySQL y al crear una tabla para un catálogo de productos me surgió la duda de qué tipo de dato debería usar para el precio del producto en Chile.
Según lo que he averiguado, en algunas partes recomiendan usar DECIMAL, también he visto que usan DOUBLE, pero en Chile los precios no llevan decimales.
Sabiendo esto, ¿Qué tipo de dato se recomienda usar para los precios de un catálogo de productos en Chile?.

Espero que me puedan ayudar. De antemano muchas gracias.

Saludos
  • 0

#2 genriquez

genriquez

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 539 mensajes
  • LocationCali, Colombia

Escrito 18 noviembre 2014 - 05:43

Hola

Mi recomendación aunque no sé como se maneja el precio en Chile, es que consideres decimales, ya que tu proyecto eventualmente puede necesitarlos y no te consume gran cantidad de espacio en la base de datos.

Lo de usar el tipo decimal o Double depende mas de gustos en lo que se refiere a precios, ya si son otros tipos de operaciones, tendrías algunos argumentos para seleccionar uno o el otro.

En tu caso, un tipo decimal con dos decimales sería suficiente y cubriría las necesidades actuales y las futuras.

Saludos.
  • 0

#3 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 18 noviembre 2014 - 08:10

pero en Chile los precios no llevan decimales.


Haca bastante tiempo que no piso Chile que ya ni recuerdo como era la moneda. Pero me extraña que digas esto. ¿Entonces estás diciendo que todo precio es un número entero? ¿Nada puede valer menos que UN (1) peso chileno?
Debe existir una moneda patrón y luego de ella se desprende los múltiplos y submúltiplos. Me animo a decir que el más del 95% de los países tienen decimales en su sistema económico. Es más todos ellos usan hasta centena, es decir 2 decimales puesto que más no es necesario.

SI en verdad es que no usan valores reales entonces bastará con que emplees el tipo INTEGER, si es que no vas a requerir de una cifra mayor a 2^31 (recuerda que un bit es para el signo, por ello es 31 y no 32). Sino vas a requerir del BIGINT que corresponde a 2^63.

Ahora, es habitual en el resto del mundo que nos manejamos con decimales emplear ya sea NUMERIC o DECIMAL y asociar 2 decimales. Ambos permiten asignar hasta 18 dígitos repartidos entre la precisión y escala. Por lo general no se necesita de más que 2 decimales, ya que no hay paises que tengan más. Desde el lado de Delphi se sugiere emplear el tipo Currency, diseñado precisamente para manejar operaciones monetarias ya que no pierde precisión.

Realmente me sueña extraño lo que dices, recuerdo haber tenido monedas chilenas cuando fui de viaje. He incluso en ese entonces debíamos hacer unos recovecos mentales para pasar de pesos argentinos a chilenos debido justamente a los decimales. Por favor aclaranos esto.

Saludos,
  • 0

#4 Andresaurus

Andresaurus

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 18 noviembre 2014 - 08:38


pero en Chile los precios no llevan decimales.

¿Entonces estás diciendo que todo precio es un número entero? ¿Nada puede valer menos que UN (1) peso chileno?


Efectivamente, todo precio en chile es un número entero. La moneda de 1 peso es la más pequeña acá. De hecho 1 peso chileno equivale a 0,01 pesos argentinos aproximadamente (para que te hagas una idea de lo poco probable que es que un producto cueste menos de 1 peso chileno).

Muchas gracias por sus respuestas, de todas formas creo que usaré decimales para mayor seguridad y compatibilidad, en caso de tener que hacer alguna conversión.

Saludos
  • 0

#5 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.137 mensajes

Escrito 18 noviembre 2014 - 09:32

Yo te aconsejo que utilices decimales (2) por una razón muy sencilla, sin importar que la denominación más pequeña sea 1 peso, en cualquier momento en tu programa te puedes encontrar con algo así:  El producto X viene en presentación "caja", la caja trae 35 unidades, a su vez la caja cuesta  123 pesos, ahora bien, si por algún motivo tocara calcular el valor unitario del contenido de la caja (123/35 = 3,51), para poder hacer cálculos o cualquier rutina debes usar obligatoriamente decimales. Eso haría tu programa mas flexible.

Saludos.
  • 0




IP.Board spam blocked by CleanTalk.