none
CONVERTIR A PORCENTAJES TIPOS DE DATOS DECIMAL. RRS feed

  • Pregunta

  • Ola un abrazo a la distancia.

    Estoy desarrollando una aplicacion de puntos de venta en c# con sql server 2012.

    yo almacenp valores en tipo moneda colombiana y me recomendaron el decimal(9,2) asi de esta manera para almacenar valores en dinero en mi tabla.

    por ejemplo aca en colombia yo almacenaria en mi tabla de productos el precio de venta que seria 1500 y el costo del proveedor de 1000 pesos colo0mbianos.

    1) primera pregunta.. segun mis especificaciones de moneda colombiana me serviria definir asi el tipo de decimal(9,2)

    2) mi columna de precio de venta es de este tipo decima(9,2) y la columna de costoProvvedor es tambien un decimal (9,2)

    estoy tratando de crear una columna calculada que me de el porcentaje de ganancia que obtengo en determinado producto

    esta es la espeicificaion de la columna calculada

    ALTER TABLE dbo.Productos ADD PorcUtilidad AS (((PrecioVenta-CostoProveedor)/(CostoProveedor))*100.00) 

    y si obtengo el porcentaje.. pero me aparecen muchos ceros asi:20.00000000000000

    lo cual no me sirve,, yo necesito que me diga ya sea :20.00  no contantos ceros

    o si hay otro resultado que me lo muestre asi: 32.3

    lo ideal es que puda visualizar los porcentajes sin todos esos ceros demas del punto.

    martes, 18 de abril de 2017 5:24

Respuestas

  • ...Esta formula esta errada.. no me da los valores reales de un porcentaje de ganancia.. de un determinado producto.. mira primero que debemos restar el precio de venta del costo de esa mercancia- ya cuando tenemos ese valor lo dividimos entre el costo  y sabremos cuanto representa ese valor en porcentajes.

    Creo que no es correcto la forma como calculas el porcentaje de margen de utilidad.

    La primera operación es correcta, el margen de utilidad es la diferencia del valor de venta (libre de impuestos) sobre el costo de ventas (costo del bien, flete, etc.), para conocer el porcentaje que representa el margen de utilidad sobre el valor de venta es un ejercicio simple de proporciones: si 100 (valor de venta) es el 100% ¿qué porcentaje es 20 (margen de utilidad)?

    DECLARE @ValorVenta decimal (9,2) = 100;
    DECLARE @Costo decimal (9,2) = 80;
    SELECT ((@ValorVenta - @Costo) * 100.00) / @ValorVenta;
    --Resultado: 20%

    - Lo que tú sugieres

    DECLARE @ValorVenta decimal (9,2) = 100;
    DECLARE @Costo decimal (9,2) = 80;
    SELECT ((@ValorVenta - @Costo) / @Costo) * 100.00;
    --Resultado: 25%

    Nota que no es correcto concluir que 20 de 100 corresponde al 25%, lo correcto es 20%.



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    martes, 18 de abril de 2017 16:33

Todas las respuestas

  • Primera pregunta, según mis especificaciones de moneda colombiana me serviría definir así el tipo de decimal(9,2)

    La precisión y escala que definas es independiente al tipo de divisa, tu determinas la cantidad máxima de dígitos que debe permitir la columna así como la cantidad de decimales. La definición que presentas permite almacenar valores hasta 9999999.99 (5 Bytes de almacenamiento), ¿es suficiente para tus requerimientos de almacenamiento?

    Segunda pregunta, mi columna de precio de venta es de este tipo decima(9,2) y la columna de costoProvedor es también un decimal (9,2), estoy tratando de crear una columna calculada que me de el porcentaje de ganancia que obtengo en determinado producto pero me aparecen muchos ceros

    Intenta convertir el valor al mismo tipo con una escala de 2 dígitos decimales.

    ALTER TABLE dbo.Productos ADD PorcUtilidad AS 
        CONVERT(decimal(9, 2), (((PrecioVenta - CostoProveedor) * 100.0) / PrecioVenta));
    GO


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    martes, 18 de abril de 2017 6:01
  • Esta formula esta errada.. no me da los valores reales de un porcentaje de ganancia.. de un determinado producto.. mira primero que debemos restar el precio de venta del costo de esa mercancia- ya cuando tenemos ese valor lo dividimos entre el costo  y sabremos cuanto representa ese valor en porcentajes.
    martes, 18 de abril de 2017 6:17
  • ...Esta formula esta errada.. no me da los valores reales de un porcentaje de ganancia.. de un determinado producto.. mira primero que debemos restar el precio de venta del costo de esa mercancia- ya cuando tenemos ese valor lo dividimos entre el costo  y sabremos cuanto representa ese valor en porcentajes.

    Creo que no es correcto la forma como calculas el porcentaje de margen de utilidad.

    La primera operación es correcta, el margen de utilidad es la diferencia del valor de venta (libre de impuestos) sobre el costo de ventas (costo del bien, flete, etc.), para conocer el porcentaje que representa el margen de utilidad sobre el valor de venta es un ejercicio simple de proporciones: si 100 (valor de venta) es el 100% ¿qué porcentaje es 20 (margen de utilidad)?

    DECLARE @ValorVenta decimal (9,2) = 100;
    DECLARE @Costo decimal (9,2) = 80;
    SELECT ((@ValorVenta - @Costo) * 100.00) / @ValorVenta;
    --Resultado: 20%

    - Lo que tú sugieres

    DECLARE @ValorVenta decimal (9,2) = 100;
    DECLARE @Costo decimal (9,2) = 80;
    SELECT ((@ValorVenta - @Costo) / @Costo) * 100.00;
    --Resultado: 25%

    Nota que no es correcto concluir que 20 de 100 corresponde al 25%, lo correcto es 20%.



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    martes, 18 de abril de 2017 16:33