Bonjour,
Je suis nouveau sur ce groupe, et en panne !
J'ai sur mes sites ci-dessous des pages de calculs en ligne de Taux effectif
global et qui, jusqu'à présent, ne m'avaient pas posé problème(s).
Or, tout à fait par hasard, j'ai découvert un cas de valeurs pour lesquelles
le logiciel donne comme résultat "undefined". J'ai revu mon code source,
décortiqué et scindé au maxi les formules, rien n'y fait.
Bien entendu, en cherchant, j'ai trouvé d'autres valeurs me donnant même
affichage.
Si le coeur vous en dit, regardez à:
http://perso.wanadoo.fr/peynichout.rene/ess_teg/etud14.htm
et dites moi s'il s'agit d'une erreur de programmation, d'une défaillance de
calcul mathématique de Javascript, les deux éventuellement, et dans la
mesure du possible, la parade à telle situation.
Par avance, merci.
--
--
R. Peynichout
www.peynichout.com
www.chez.com/rpenich
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ASM
Bonjour, Je suis nouveau sur ce groupe, et en panne ! J'ai sur mes sites ci-dessous des pages de calculs en ligne de Taux effectif global et qui, jusqu'à présent, ne m'avaient pas posé problème(s). Or, tout à fait par hasard, j'ai découvert un cas de valeurs pour lesquelles le logiciel donne comme résultat "undefined".
Ha Ha Ha ! bienvenue au club des calculs couaquesques du JS ;-))
C'est encore un coup d'1 string qui bien sûr ne peut être calculé puisque pas un nombre
Si tu te sers d'une valeur entrée dans un champ (par le visiteur ou le JS) cette valeur est du type texte (string) par défaut il faut donc la convertir en nombre avant de s'en servir dans les calculs.
Cependant je crains que çà ne résolve ton pb avec tous ces Math.qquechose quand on sait que les processeurs ne comptent pas en base 10 à force, ou de tps en tps, y a des couacs.
Essayer de faire faire les sous-calculs en hexa et ne convertir qu'à la fin ?
truc = Math.qquechose(machin*bidule,16);
truc = Math.round(truc,10);
(perso : rien essayé de cette approche)
outre la complexité apparente de ce que tu veux faire il y a pas mal de délayages qui doivent contribuer à l'attente du résultat
pour moins fatiguer avec les évaluations qui freinent
-- ******************************************************* Stéphane MORIAUX et son vieux Mac Aide Pages Perso (images & couleurs, formulaire, CHP) http://perso.wanadoo.fr/stephane.moriaux/internet/ *******************************************************
Bonjour,
Je suis nouveau sur ce groupe, et en panne !
J'ai sur mes sites ci-dessous des pages de calculs en ligne de Taux effectif
global et qui, jusqu'à présent, ne m'avaient pas posé problème(s).
Or, tout à fait par hasard, j'ai découvert un cas de valeurs pour lesquelles
le logiciel donne comme résultat "undefined".
Ha Ha Ha ! bienvenue au club des calculs couaquesques du JS ;-))
C'est encore un coup d'1 string qui bien sûr ne peut être calculé
puisque pas un nombre
Si tu te sers d'une valeur entrée dans un champ
(par le visiteur ou le JS) cette valeur est du type texte (string) par défaut
il faut donc la convertir en nombre avant de s'en servir dans les calculs.
Cependant je crains que çà ne résolve ton pb
avec tous ces Math.qquechose
quand on sait que les processeurs ne comptent pas en base 10
à force, ou de tps en tps, y a des couacs.
Essayer de faire faire les sous-calculs en hexa
et ne convertir qu'à la fin ?
truc = Math.qquechose(machin*bidule,16);
truc = Math.round(truc,10);
(perso : rien essayé de cette approche)
outre la complexité apparente de ce que tu veux faire
il y a pas mal de délayages
qui doivent contribuer à l'attente du résultat
Bonjour, Je suis nouveau sur ce groupe, et en panne ! J'ai sur mes sites ci-dessous des pages de calculs en ligne de Taux effectif global et qui, jusqu'à présent, ne m'avaient pas posé problème(s). Or, tout à fait par hasard, j'ai découvert un cas de valeurs pour lesquelles le logiciel donne comme résultat "undefined".
Ha Ha Ha ! bienvenue au club des calculs couaquesques du JS ;-))
C'est encore un coup d'1 string qui bien sûr ne peut être calculé puisque pas un nombre
Si tu te sers d'une valeur entrée dans un champ (par le visiteur ou le JS) cette valeur est du type texte (string) par défaut il faut donc la convertir en nombre avant de s'en servir dans les calculs.
Cependant je crains que çà ne résolve ton pb avec tous ces Math.qquechose quand on sait que les processeurs ne comptent pas en base 10 à force, ou de tps en tps, y a des couacs.
Essayer de faire faire les sous-calculs en hexa et ne convertir qu'à la fin ?
truc = Math.qquechose(machin*bidule,16);
truc = Math.round(truc,10);
(perso : rien essayé de cette approche)
outre la complexité apparente de ce que tu veux faire il y a pas mal de délayages qui doivent contribuer à l'attente du résultat
w=0; f=0; AA = new Array(100); QQ = new Array(100);
Avant d'entrer dans le vif du sujet, d'abord merci pour une réponse aussi rapide. Très bonne occupation pour ces journées de froidure....
-- -- R. Peynichout www.peynichout.com www.chez.com/rpenich
BMR
Il y a aussi des problèmes d'arrondi inhérents au navigateur. Par exemple sur Firefox : var n = 158.545; var p = Math.round(n*100) / 100; donnera 158.54 au lieu de 158.55 var q = n.toFixed(2); même résultat
J'ai signalé la chose, mais apparemment il n'y a rien à faire... C'est bien ennuyeux quand même.
BMR
Bonjour, Je suis nouveau sur ce groupe, et en panne ! J'ai sur mes sites ci-dessous des pages de calculs en ligne de Taux effectif global et qui, jusqu'à présent, ne m'avaient pas posé problème(s). Or, tout à fait par hasard, j'ai découvert un cas de valeurs pour lesquelles le logiciel donne comme résultat "undefined". J'ai revu mon code source, décortiqué et scindé au maxi les formules, rien n'y fait. Bien entendu, en cherchant, j'ai trouvé d'autres valeurs me donnant même affichage. Si le coeur vous en dit, regardez à: http://perso.wanadoo.fr/peynichout.rene/ess_teg/etud14.htm et dites moi s'il s'agit d'une erreur de programmation, d'une défaillance de calcul mathématique de Javascript, les deux éventuellement, et dans la mesure du possible, la parade à telle situation.
Par avance, merci.
Il y a aussi des problèmes d'arrondi inhérents au navigateur.
Par exemple sur Firefox :
var n = 158.545;
var p = Math.round(n*100) / 100; donnera 158.54 au lieu de 158.55
var q = n.toFixed(2); même résultat
J'ai signalé la chose, mais apparemment il n'y a rien à faire... C'est
bien ennuyeux quand même.
BMR
Bonjour,
Je suis nouveau sur ce groupe, et en panne !
J'ai sur mes sites ci-dessous des pages de calculs en ligne de Taux effectif
global et qui, jusqu'à présent, ne m'avaient pas posé problème(s).
Or, tout à fait par hasard, j'ai découvert un cas de valeurs pour lesquelles
le logiciel donne comme résultat "undefined". J'ai revu mon code source,
décortiqué et scindé au maxi les formules, rien n'y fait.
Bien entendu, en cherchant, j'ai trouvé d'autres valeurs me donnant même
affichage.
Si le coeur vous en dit, regardez à:
http://perso.wanadoo.fr/peynichout.rene/ess_teg/etud14.htm
et dites moi s'il s'agit d'une erreur de programmation, d'une défaillance de
calcul mathématique de Javascript, les deux éventuellement, et dans la
mesure du possible, la parade à telle situation.
Il y a aussi des problèmes d'arrondi inhérents au navigateur. Par exemple sur Firefox : var n = 158.545; var p = Math.round(n*100) / 100; donnera 158.54 au lieu de 158.55 var q = n.toFixed(2); même résultat
J'ai signalé la chose, mais apparemment il n'y a rien à faire... C'est bien ennuyeux quand même.
BMR
Bonjour, Je suis nouveau sur ce groupe, et en panne ! J'ai sur mes sites ci-dessous des pages de calculs en ligne de Taux effectif global et qui, jusqu'à présent, ne m'avaient pas posé problème(s). Or, tout à fait par hasard, j'ai découvert un cas de valeurs pour lesquelles le logiciel donne comme résultat "undefined". J'ai revu mon code source, décortiqué et scindé au maxi les formules, rien n'y fait. Bien entendu, en cherchant, j'ai trouvé d'autres valeurs me donnant même affichage. Si le coeur vous en dit, regardez à: http://perso.wanadoo.fr/peynichout.rene/ess_teg/etud14.htm et dites moi s'il s'agit d'une erreur de programmation, d'une défaillance de calcul mathématique de Javascript, les deux éventuellement, et dans la mesure du possible, la parade à telle situation.