Envoyé par : Raphael
Date : 29/10/2007 15:16
Bonjour, mon problème ne relève pas à proprement parler de XUL mais plutôt d'un petit problème de JS qui n'est somme toute pas très difficile mais qui m'énerve un peu car je ne connais pas bien l'étendue des fonctions JS à ma disposition pour faire ce travail.
Voici mon problème : Je voudrais "aider" à la saisie de la référence d'un objet en me basant sur le précédent objet rentré selon ce modèle :
Je voudrais pouvoir proposer la référence suivante donc par exemple :
Voilà le bout de code que j'ai commencé :
var Ref = last_card["Reference"]; var New_Ref = Ref.substring(0, Ref.length - 3); var New_Ref_Number = parseInt(Ref.substring(Ref.length - 3, Ref.length)) + 1; New_Ref += New_Ref_Number;
Le problème là est que ça me transforme 002 en 3 et non 003.
J'ai essayé de bidouiller un truc :
var Ref = last_card["Reference"]; var New_Ref = Ref.substring(0, Ref.length - 3); var Ref_Number = parseInt(Ref.substring(Ref.length - 3, Ref.length)); var New_Ref_Number = Ref_Number + 1; New_Ref_Number += ""; var Temp = ""; for (var i = 0 ; i < (3-New_Ref_Number.length) ; i++) { Temp += "0"; } New_Ref += Temp + New_Ref_Number;
Là, ça marche pour 004 en 005...
Mais ça ma transforme 017 en 016... ? Je recule, je comprends pas trop pourquoi...
Est-ce que quelqu'un saurait pourquoi ? ou bien existe-t-il des fonctions plus adaptées à mon problème ?
Merci d'avance.
Envoyé par : hhf
Date : 29/10/2007 20:20
Qd tu va connaitre la solution , tu vas etre degouté... LOL Donc de memoire :
parseInt("17") retourne bien 17 car parseInt("17", 10) mais
parseInt("017") retourne 15 car qd ca commence par "0", il considere que c'est de l'octal...
Donc normalement, si tu precise la base 10, tout devrait rentrer dans l'ordre....
var Ref_Number = parseInt(Ref.substr(-3), 10); Ref_Number++;
sinon pour combler avec les zeros :
while(Ref_Number.length<3) Ref_Number="0"+Ref_Number;
Envoyé par : Raphael
Date : 30/10/2007 08:55
Génial, merci énormément, ça marche au poil !
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.