Podrias enviar la función que utilizas para el calculo, para ver si existe algo raro porahi porque en el resto de codigo por lo pronto no veo fallos. Saludos