> Tech > 2. Utiliser %DEC pour convertir Caractère en Numérique

2. Utiliser %DEC pour convertir Caractère en Numérique

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

En V5R2, la fonction %DEC convertit une expression chaîne en un nombre décimal packé, avec la précision spécifiée, comme ceci :

%DEC(expression:digits:decimals)

Les releases précédentes n'acceptaient que des expressions numériques avec %DEC.
Quand on utilise la fonction %DEC pour convertir une chaîne, le deuxième et le troisième paramètre sont obligatoires. Ainsi,

2. Utiliser %DEC pour convertir Caractère en  Numérique

si le champ caractère
Amount a une valeur de ‘00123.45’,
on pourra le convertir en un nombre
décimal packé en codant

%DEC(Amount:7:2)

Si la valeur chaîne inclut des caractères
non numériques (autres qu’un
caractère décimal), on peut inclure la
fonction %XLATE pour traduire ces caractères
en blancs. Par exemple, si
Amount a une valeur de ‘$***12,345.67
‘, on pourra coder

%DEC( %XLATE(‘$*,’:’ ‘:Amount) : 7 : 2 )

pour convertir le symbole devise, les astérisques et les
virgules en blancs. La fonction %DEC ne tient pas compte
des blancs imbriqués, donc le programme produira une valeur
de renvoi packée de sept chiffres, de 12345.67.
Si la fonction %DEC rencontre une valeur numérique
non valide, elle renvoie un code d’état de 105, facile à  capturer,
comme ceci :


MONITOR;
Result = %DEC(%XLATE(‘$*,’:’ ‘:Amount)
:7:2);
ON-ERROR 105;
Result = 0;
ENDMON;

Pour arrondir le résultat numérique, utilisez %DECH. Les
fonctions %INT et %INTH acceptent aussi des arguments
chaîne, renvoyant alors des valeurs entières.

Téléchargez cette ressource

État des lieux de la réponse à incident de cybersécurité

État des lieux de la réponse à incident de cybersécurité

Les experts de Palo Alto Networks, Unit 42 et Forrester Research livrent dans ce webinaire exclusif leurs éclairages et stratégies en matière de réponses aux incidents. Bénéficiez d'un panorama complet du paysage actuel de la réponse aux incidents et de sa relation avec la continuité de l'activité, des défis auxquels font face les entreprises et des tendances majeures qui modèlent ce domaine. Un état des lieux précieux pour les décideurs et professionnels IT.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010