2012-05-18 14 views
27

Estoy usando Rails 3.2.2 y me gustaría tienda y manejar un valor de porcentaje en una columna de la tabla de mi base de datos. ¿Qué le aconseja (por ejemplo, qué tipo - :integer, :float, :decimal, ... - de la columna debería configurar)? ¿Hay alguna alerta que debo/debo saber sobre el almacenamiento de valores porcentuales?¿Cómo almacenar un valor porcentual?

La precisión debe ser (1.99%, 50.01%, ...).

Nota: Leí this post.

+2

Entonces, después de leer esa publicación, ¿qué aún no está claro para usted? –

Respuesta

32

Depende un poco de cómo planea usar el valor, pero normalmente un decimal sería una buena opción para almacenar porcentajes. Y tenga en cuenta que podría almacenarlo como el valor porcentual (10.01) o como el valor fraccionario (.1001). Entonces eso afectaría el tamaño real y la precisión de la columna.

La elección entre el almacenamiento como un porcentaje o fracción depende de las necesidades de uso, pero sospechar que en la mayoría de situaciones sería más sencillo para almacenarla como una fracción (por ejemplo, 0,10 para representar 10%) porque se puede usar directamente en la mayoría de los cálculos más fácilmente (no es necesario recordar dividir entre 100).

Y como @ismaelga señala en los comentarios, un decimal es una buena opción para la precisión (particularmente bueno cuando se trata de cálculos monetarios).

+1

De acuerdo, el decimal es bueno ya que tiene una precisión particular en mente. –

+0

Yo agregaría en esta pregunta que el decimal es bueno, así que hay precisión y no hay necesidad de conversiones de flotante a decimal. –

+0

@ismaelga: Muy buen punto. Agregué esa información. Gracias. –

Cuestiones relacionadas