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
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Les agents d’IA fragilisent la sécurité : pour les sécuriser, inutile de repartir de zéro
- Yampa : innovation en IA, souveraineté et sécurité au service des DSI
- Les marchés publics peuvent-ils encore faire émerger des champions numériques français ?
- ESET accélère en France et mise sur l’IA face à la montée des cybermenaces
Articles les + lus
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
À la une de la chaîne Tech
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
