> Tech > Comptage des chiffres présents dans une zone numérique

Comptage des chiffres présents dans une zone numérique

Tech - Par iTPro - Publié le 24 juin 2010
email

Voyons un deuxième exemple utilisant l'instruction Set, où l'on peut compter le nombre de chiffres d'un champ numérique. En RPG, pour déterminer la longueur réelle d'un champ caractère comme un champ description ou nom, on combine les fonctions intégrées %Trim et %Len. Mais comment faire de même pour un champ

numérique ?
Supposons par exemple que j’aie défini un champ numérique 11,0 contenant la valeur
5729. Je peux utiliser l’instruction SQL Set pour déterminer par programme que
ce champ contient actuellement un nombre de quatre chiffres. Mais avant d’apprendre
à  utiliser l’instruction Set à  cet effet, voyons quelques préliminaires.



Le logarithme de base 10 d’un entier (un nombre entier positif) comporte toujours
un entier et une fraction. La partie entière du logarithme est inférieure de un
au nombre de chiffres contenus dans le nombre original. Par exemple, le logarithme
de 57 est approximativement 1,76. La partie entière du logarithme est 1, c’est-à -dire
un de moins que le nombre de chiffres (deux) dans le nombre 57.



En utilisant ce principe, le fragment de code de la figure 2 calcule le nombre
de chiffres dans un champ 11, 0. A noter toutefois qu’il s’agit là  d’un calcul
d’exécution. Bien que le champ ANumber soit défini comme 11, 0, cela ne signifie
pas que ce calcul produit 11. En réalité, après l’exécution de l’instruction Set,
le contenu du champ NumDigits dépend du nombre qui se trouve dans ANumber à  l’exécution.
Si ANumber contient alors 5729, le calcul produira une valeur NumDigits de 4 et
pas de 11.

Téléchargez gratuitement cette ressource

*** SMART DSI *** VERSION NUMÉRIQUE

*** SMART DSI *** VERSION NUMÉRIQUE

Découvrez SMART DSI, la nouvelle revue du Décideur IT en version numérique. Analyses et dossiers experts pour les acteurs de la transformation numérique de l'entreprise, Gagnez en compétences et expertise IT Professionnelle avec le contenu éditorial premium de SMART DSI.

Tech - Par iTPro - Publié le 24 juin 2010