Il n'est pas toujours facile de dupliquer les fonctions des opérations MOVE pour déplacer des données caractère en données numériques en format libre. Les %DEC (Convert to packed decimal), %INT (Convert to integer) et %UNS (Convert to unsigned integer) convertiront une expression (ou une variable) en une valeur de renvoi
Atteindre les nombres
numérique.
Mais, avant la V5R2, ces fonctions
obligeaient à fournir une expression
ou variable numérique.
En V5R2, ces fonctions convertiront
une expression caractère ou une
variable, en respectant les règles suivantes
:
- L’expression doit donner une valeur
numérique valide, avec ou sans un
signe (à gauche ou à droite) - Les blancs sont autorisés dans l’expression,
mais les données à virgule
flottante ne le sont pas. - Si la fonction rencontre des données
numériques invalides, le programme
génèrera une erreur avec %STATUS=
105. - La fonction %DEC demande deux
paramètres supplémentaires, qui
spécifient le nombre de digits et de
positions décimales souhaitées dans
le résultat.
Si Source est une chaîne caractère
de neuf octets avec une valeur de
‘23456.78’ et Result est un nombre décimal
packé (11 chiffres, quatre décimales),
Result contiendra une valeur
négative de 0023456.7800 après ce calcul
:
Result = %Dec(Source:11:4);
Pour ajuster (arrondir) le résultat,
utiliser les variantes %DECH, %INTH,
ou %UNSH de ces fonctions de
conversion.
Comme les fonctions de conversion
numérique ne supportent pas les
expressions de données, on ne peut
pas les utiliser directement pour
convertir des dates en nombres. Mais
on peut (en V5R2) imbriquer la fonction
%CHAR dans l’une des fonctions
de conversion numérique (comme le
montre cet exemple) :
Result = %Int(%Char(Source:*ISO0));
Si Source est une donnée native
(type de donnée D) avec une valeur de
Décembre 31, 2005, Result aura une
valeur entière de 20051231 après le calcul.
N’oubliez pas d’inclure le zéro
après le format désiré pour éliminer
les caractères séparateurs.
Téléchargez cette ressource
Guide de Sécurité IA et IoT
Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.