Questions fréquentes (FAQ)

Poser une question

Sous PL7 Pro, est-il possible de convertir une valeur numérique (mot simple ou double) en chaîne de caractères codée en ASCII ?

Oui.
Les fonctions INT_TO_STRING et DINT_TO_STRING permettent de convertir une valeur numérique (mot simple ou double longueur) en chaîne de caractères codée en ASCII.
Chaque chiffre ainsi que le signe de la valeur passée en paramètre est codé en ASCII dans un élément du tableau d'octets résultat.     

Fonction INT_TO_STRING :
Le contenu d'un mot simple longueur pouvant être compris entre -32768 et +32767, soit 5 chiffres plus le signe, le résultat sera un tableau de 6 caractères plus le terminateur.
Le signe '+' ou '-' est rangé dans le premier caractère et les unités dans le sixième caractère, les dizaines dans le cinquième, ainsi de suite.

Exemple :     
%MB10:7:=INT_TO_STRING(%MW20) avec %MW20 = - 3782 en décimal
==> Le résultat est rangé dans le tableau de 7 octets suivant %MB10

Image


Fonction DINT_TO_STRING :
Le contenu d'un mot double longueur pouvant être compris entre -2147483648 et +2147483647, soit 10 chiffres plus le signe, le résultat sera un tableau de 12 caractères plus terminateur.
Le signe '+' ou '-' est rangé dans le premier caractère, l'unité dans le douzième caractère, les dizaines dans le onzième, ainsi de suite.
Le deuxième caractère est toujours '0'.

Exemple :
%MB2:13:=DINT_TO_STRING(%MD30)avec %MD30 = - 234701084
==> Le résultat est rangé dans le tableau de 13 octets suivant %MB2

Image

Remarque :
Le caractère NUL (code hexa 00) est appelé Terminateur de chaîne.
Il est symbolisé par Ø

Cela vous a-t-il aidé ?
Que pouvons-nous faire pour améliorer l'information ?