Donnez vie à vos documents numériques !
 

Conversion de grandeur : cm en pieds et pouces. – RÉSOLU

abracadabraPDF Forums PDF – Général Conversion de grandeur : cm en pieds et pouces. – RÉSOLU

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44572
    Rockabilly
    Participant

    Bonjour,

    J’ai un autre problème de conversion qui ressemble a celui de BSA. Comme dit précédemment, le formulaire a été créé par mon département (http://abracadabrapdf.net/forum/index.php/topic,2110.0.html).

    Il y a deux champs (plutôt 3 champs) pour la grandeur. La grandeur peut être soit entrée en cm ou en pieds ET pouces. Par contre je veux qu’il y ait une conversion automatique de cm en pieds et pouces lorque la grandeur est entrée en cm; et si la grandeur a été entrée en pied et pouces, qu’il y ait une conversion de la grandeur en cm.

    Tout ceci est basé sur la conversion du poids de kg en lbs et vice versa. Pour cette conversion, j’ai utilisé ce script que j’ai trouvé et qui fonctionne à merveille:

    (function () {

        var f_source = getField(“lbs”);
        var result;

        if (event.source && event.source === f_source) {
            result = +f_source.value / 2.2;
            event.value = result == 0 ? “” : util.printf(“%.0f”, result);
        }

    })();

    et vice-versa

    Par la suite, j’ai voulu refaire le même coup pour la grandeur avec un succès modéré. Pour la conversion de cm en pieds et pouces, j’ai utilisé ceci pour le champ des pieds:

    (function () {

        var f_source = getField(“cm”);
        var result;

        if (event.source && event.source === f_source) {
            result = Math.floor((+f_source.value / 2.54) / 12);
            event.value = result == 0 ? “” : util.printf(“%.0f”, result);
        }

    })();

    et cela pour le champ des pouces:

    (function () {

        var f_source = getField(“cm”);
        var result;

        if (event.source && event.source === f_source) {
            result = (((+f_source.value / 2.54) / 12) – (this.getField(“Feet”).value)) * 12;
            event.value = result == 0 ? “” : util.printf(“%.0f”, result);
        }

    })();

    Il y a cependant un hic pour la conversion de 182cm. Avec le script ci-haut, cela donne 5 pieds et 12 pouces… ce qui n’est pas la présentation adéquate, car cela devrait donner 6 pieds.
    Comment puis-je corrige cette anomalie?

    J’ai également un léger problème avec la conversion de pieds et pouces en cm. Je ne savais pas comment réunir les 2 valeurs et j’ai essayé plusieurs façon et je suis arrivé avec ce script que j’ai utilisé dans le champ de cm:

    (function () {

        var f_source = getField(“Inches”);
        var result;

        if (event.source && event.source === getField(“Inches”) && getField(“Feet”)) {
            result = Math.ceil((getField(“Inches”).value) + (getField(“Feet”).value * 12)) * 2.54  ;
            event.value = result == 0 ? “” : util.printf(“%.0f”, result);

        }

    })();

    Le problème survient lorsque j’efface la valeur de pouces en premier et que par la suite j’efface la valeur des pieds, la valeur dans le champ des cm ne s’en va pas. Je comprends que le script est basé sur le champ des pouces plutôt que le champ des pieds. Y a-t-il une façon de faire disparaitre les cm lorsqu’il n’y a plus de valeur dans les pieds et pouces? Je suis conscient que ce n’est vraiment pas la façon la plus élégante et je serais très reconnaissant si une modification au script rendait le formulaire plus fluide.

    Cela a l’air très compliqué avec les codes et c’est pourquoi j’ai attaché le formulaire  :jerisjaune:.

    [attachment deleted by admin]

Affichage de 4 réponses de 1 à 4 (sur un total de 4)
  • Auteur
    Réponses
  • #55233
    Merlin
    Maître des clés

    Salut,

    Première chose à faire : vérifier l’Ordre de calcul.
    :Smiley01:

    #55234
    Merlin
    Maître des clés

    cela donne 5 pieds et 12 pouces… ce qui n’est pas la présentation adéquate, car cela devrait donner 6 pieds.

    Moi qui croyait qu’il n’y avait qu’un seul pouce par pied !
    :jerisjaune:

    smiley10.png

    #55235
    Rockabilly
    Participant

    J’ai réussi à m’en sortir.
    Tout d’abord, pour la conversion de cm en pieds et pouces, j’ai enlevé tout le code superflu et ça donne ceci:

    var result;

    result = Math.ceil((getField(“Inches”).value) + (getField(“Feet”).value * 12)) * 2.54  ;
           
    event.value = result == 0 ? “” : util.printf(“%.0f”, result);

    et pour le problème de 12 pouces, je n’ai fait que rajouter +0.04 au script et de cette façon on obtient 6′ plutôt que 5’12”; ou 5′ plutôt que 4’12”, etc.

    #55236

    Bonjour,

    J’ai réussi à m’en sortir.

    :soleil:  :PouceHaut:

    Une solution sera donc dans les archives du forum.  :Smiley03:

    Lionel :alien2:

Affichage de 4 réponses de 1 à 4 (sur un total de 4)
  • Vous devez être connecté pour répondre à ce sujet.