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
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Gestion des vulnérabilités : pourquoi seulement 7,6 % des entreprises corrigent les failles critiques en moins de 24 heures
- SMS et e-mails : la notification, un enjeu économique stratégique
- Forum INCYBER : le cybercrime change d’échelle, l’Europe cherche sa riposte
- IA : ne déléguez pas votre cœur de métier à une boîte noire
Articles les + lus
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
Adapter la sécurité OT aux réalités de l’industrie
Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
Mixité dans la Tech : en 2026, un choix de souveraineté stratégique
À la une de la chaîne Tech
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
- DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
- Adapter la sécurité OT aux réalités de l’industrie
- Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
- Mixité dans la Tech : en 2026, un choix de souveraineté stratégique
