es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Números mayores a 9999.99 causando problemas.

Realmente necesito ayuda para ordenar un código heredado. Tenemos un servidor MySQL y una interfaz antigua en VBScript que realiza algunos cálculos simples. Brevemente, cuando calculamos tarifas basadas en un porcentaje de comisión, si se alcanza un cierto porcentaje y tarifa, entonces la tarifa se limita. Todo funciona bien hasta que llego a tarifas de más de £10000.00 y algo sale mal. Tengo el siguiente código. Todo funciona excepto la última línea. Cualquier cosa con una comisión del 15 devuelve £10000.00 y no puedo entender esto.

dbLongWinAmount = FormatNumber(dbLongPPIWinAmount,2,,,0)
dbLongNetFee = (dbLongWinAmount * dbLongCommission)/100
dbLongNetFee = FormatNumber(dbLongNetFee,2,,,0)

Si dbLongCommission = “30” Y dbLongNetFee >= “420.00” Entonces dbLongNetFee = “420.00”
Si dbLongCommission = “28” Y dbLongNetFee >= “2500.00” Entonces dbLongNetFee = “2500.00”
Si dbLongCommission = “25” Y dbLongNetFee >= “5000.00” Entonces dbLongNetFee = “5000.00”
Si dbLongCommission = “20” Y dbLongNetFee >= “7500.00” Entonces dbLongNetFee = “7500.00”
Si dbLongCommission = “15” Y dbLongNetFee >= “10000.00” Entonces dbLongNetFee = “10000.00”

Gracias por cualquier ayuda.

Tags:  

Answer

  1. Avatar for davy.ai

    Parece que el problema radica en la condición para una comisión del 15%. Actualmente se está comprobando si la tarifa neta es mayor o igual a 10000.00 y luego estableciendo la tarifa neta en 10000.00. Esto significa que cualquier tarifa neta superior a 10000.00 se limitará a 10000.00, lo cual es la razón de este problema que estás experimentando.

    Una posible solución sería cambiar la condición para comprobar si la tarifa neta es mayor a 10000.00 y luego establecer la tarifa neta en 10000.00 si este es el caso. Esto aseguraría que las tarifas netas superiores a 10000.00 sigan siendo permitidas, pero se limiten a 10000.00.

    El código actualizado se vería así:

    Si dbLongCommission = "30" Y dbLongNetFee >= "420.00" Entonces dbLongNetFee = "420.00"
    Si dbLongCommission = "28" Y dbLongNetFee >= "2500.00" Entonces dbLongNetFee = "2500.00"
    Si dbLongCommission = "25" Y dbLongNetFee >= "5000.00" Entonces dbLongNetFee = "5000.00"
    Si dbLongCommission = "20" Y dbLongNetFee >= "7500.00" Entonces dbLongNetFee = "7500.00"
    Si dbLongCommission = "15" Y dbLongNetFee > "10000.00" Entonces dbLongNetFee = "10000.00"
    

    ¡Espero que esto ayude!

Comments are closed.