Donnez vie à vos documents numériques !
 

Calcul arrondi supérieur dans un formulaire

abracadabraPDF Forums PDF – Général Calcul arrondi supérieur dans un formulaire

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #46157
    Dana
    Participant

    Bonjour à tous,

    Malgré plusieurs tentatives de recherches, je n’ai pas trouvé de réponse et me permets donc de créer ce post afin d’obtenir de l’aide.

    J’explique mon problème : je dois créer un formulaire pdf remplissable afin de pouvoir adapter certaines valeurs en fonction du besoin, jusqu’ici pas de problème
    Seulement quand je souhaite réaliser un arrondi au supérieur la valeur qui s’affiche est 0 au lieu de 0,1.

    Pour être plus précis voici comment se déroule le calcul : on calcule à partir d’une valeur A (entrée par l’utilisateur) une deuxième valeur B par un calcul simple. Et ensuite à partir de la valeur B je souhaite réaliser un second calcul afin d’obtenir une valeur C arrondi au dixième.
    C’est pour l’arrondi de la valeur C que je me retrouve bloqué.
    Je ne suis pas expert en JavaScript mais j’ai essayé la fonction Math.ceil sans succès (peut être que je l’utilise mal  :doute: )

    J’utilise Adobe Acrobat Pro en version 10.1.16.13 sur un ordinateur sous Windows 7.
    L’objectif est que ce fichier se retrouve sur le réseau informatique afin que chacun puisse l’utiliser sans problème suivant la version de windows, d’Acrobat ou autre (je ne sais pas si cela a un impact ou non sur le fonctionnement bon ^^)

    Merci pour votre aide !

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

    Bonjour et bienvenue.

    Aide toi et le ciel t’aidera…
    Si tu ne fournis ni le script que tu essayes d’utiliser ni le document PDF (ou un exemple) qui lui sert de support il va être très difficile pour nous de faire quelque chose pour toi !

    :Smiley15:

    #66357
    bebarth
    Maître des clés

    bonjour,
    Il existe plusieurs façons pour arrondir le nombre :
    La solution la plus simple : Tu prends la partie entière de ton nombre multiplié par 10 et tu la redivises par 10.
    La solution un peu moins simple (mais qui ressemble à la première) : Tu multiplies par cent, tu regardes le dernier chiffre et s’il est supérieur ou égal à 5 tu rajoutes 1 avant de diviser par 10 la première version.
    La solution la plus complexe : tu te crées une fonction (que je ne t’expliquerai pas ici) et tu indiques le nombre de décimales souhaitées.
    Je te laisse examiner le fichier joint.
    @+
    :bonjour:

    #66358
    Dana
    Participant

    Bonjour,

    Merci pour votre réponse rapide !

    Je vous mets un fichier exemple de ce que j’aimerai faire (sans l’arrondi bien sûr ^^’)

    Mon objectif est de toujours avoir l’arrondi au dixième supérieur (ex : si le résultat est de 24,0001 je voudrais obtenir 24,1)

    Merci pour votre aide et votre temps

    #66359
    bebarth
    Maître des clés

    Systématiquement ? C’est étrange !
    Mais si c’est bien le cas, il faut utiliser la version « un peu moins simple »  et rajouter systématiquement 1 avant de rediviser par 10…
    Pour info, dans les calculs il faut utiliser le point (.) comme séparateur décimal et non la virgule.
    @+
    :bonjour:

    #66360
    Dana
    Participant

    Ton arrondi supérieur fonctionne effectivement, mais peut être que je me suis mal exprimé  :oh:

    C’est à dire que si effectivement j’ai 24.00000001 je souhaite obtenir 24.1 mais si j’ai 24.0 tout juste (avec donc une infinité de 0 après) je souhaite obtenir le même résultat soit 24.0

    Mais c’est peut être très compliqué ? ^^

    Merci pour ta réponse !

    #66361
    bebarth
    Maître des clés

    bonjour,
    …d’où mon étonnement !
    Il faut alors écrire :

    Code:
    var nb=this.getField(« B »).value*0.001;
    if ((nb-((parseInt(nb*10))/10))>0) event.target.value=(parseInt(nb*10)+1)/10;
    else event.target.value=(parseInt(nb*10))/10;

    @+
    :bonjour:

    #66362
    Dana
    Participant

    Parfait ! C’est exactement ce qu’il me fallait !  :extra:

    Merci beaucoup !  :bonjour:

    #66363
    Merlin
    Maître des clés

    C’est à dire que si effectivement j’ai 24.00000001 je souhaite obtenir 24.1 mais si j’ai 24.0 tout juste (avec donc une infinité de 0 après) je souhaite obtenir le même résultat soit 24.0

    Pour quel cas concret d’utilisation as tu besoin de cet arrondi un peu particulier ?
    (Je suis curieux)

    #66364
    Dana
    Participant

    Merlin,

    Cet arrondi sert au calcul d’une incertitude et une incertitude ne pouvant être minimisée, l’arrondi au supérieur est le seul moyen d’obtenir le nombre de décimales que l’on souhaite tout en respectant les règles liées aux mesures et incertitudes ^^

    #66365
    Merlin
    Maître des clés

    Ah ouais ouais ouais…  :doute:

    Merci !  :Smiley03:

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