J'ai ce code: http://pastebin.com/Sd9WKZFrTAUX fonction basée PHPExcel() retour NAN()
Quand j'appelle quelque chose comme rate(60, -6000, 120000)
il me renvoie un résultat, mais la même fonction NAN
sur MS Excel me retourne 0,04678...
. J'ai le même problème en essayant -5000, -4000, -3000 et -2000. Lorsque je débogue le code, je vois qu'à propos de l'itération 8/9, le numéro de ligne 29 commence à renvoyer un résultat NAN
, rendant tous les autres résultats à NAN
aussi. MAIS, quand j'appelle quelque chose comme rate(60, -1000, 120000)
il me renvoie float -0.02044...
, exactement le même résultat de MS Excel.
J'ai déjà tryed pour convertir tous des calculs mathématiques dans fonctions bcmath, mais cette façon, les résultats de -6000 est faux (-1,0427 ... au lieu de 0,04678 ...) mais en utilisant - 1000 le résultat est correct, correspondant au résultat d'Excel.
Existe-t-il un moyen de le faire fonctionner correctement?
Merci d'avance pour tout renseignement utile à ce sujet.
Ce sont seulement guessings, cela ressemble avant tout comme un calcul problème. - est-il possible que le taux $ puisse être négatif alors log() n'est pas défini dans la ligne 29? - vos parenthèses sont-elles réglées correctement? – worenga
Salut @mightyuhu, il n'y a pas d'erreurs de sintaxe car l'utilisation de -1000 fonctionne très bien. En même temps, c'est une fonction de stable phpexcel. Merci quand même. – slinstj
@sidtj @mightyuhu a raison, 'rate (60, -6000, 120000)' produit un résultat intermédiaire de Rate <1 (vous l'avez déjà identifié à l'itération 8/9ème). Vous devez travailler sur votre algorithme –