Existe-t-il une fonction pour convertir un caractère en son équivalent ASCII ?Existe-t-il une fonction pour convertir un caractère en un nombre ascii?
En fin de compte, je dois traduire une colonne basée sur des caractères dans les données en son équivalent numérique.Ils se trouvent toujours être 1 ou 2 chiffres.Si efficacement
"A" devient 1
"Z" devient 26
"AA" devient 27
"AB" devient 28
etc.
Alors dites DIE_COLUMN = "CA" Je veux retourner 79
J'ai trouvé la formule complètement laide suivante ... mais s'il y avait une fonction char à ascii, je pourrais faire beaucoup mieux.Il doit y avoir un moyen plus propre.
If( Length( :DIE_COLUMN ) == 2,
Contains( "ABCDEFGHIJKLMNOPQRSTUVWXYZ", Left( :DIE_COLUMN, 1 ) ) * 26,
0
) + Contains( "ABCDEFGHIJKLMNOPQRSTUVWXYZ", Right( :DIE_COLUMN, 1 ) )
ScriptRe : Existe-t-il une fonction pour convertir un caractère en son équivalent ASCII ?Cela le fera:
die_column = "CA";
If( Length( DIE_COLUMN ) == 2,
(num(hex(Left( DIE_COLUMN, 1 ) )) - 40) * 26,
0
) + num(hex(Right( DIE_COLUMN, 1 ) )) - 40
Vous auriez besoin de majuscule die_column.Cela fonctionne car A est ASCII 41.
Re : Existe-t-il une fonction pour convertir un caractère en son équivalent ASCII ?Traduire des codes à 2 caractères en un nombre est un bon travail pour un tableau associatif. Vous pouvez créer le aa avec des boucles imbriquées. Vous voudrez peut-être forcer les minuscules sur les touches.Re : Existe-t-il une fonction pour convertir un caractère en son équivalent ASCII ?Pour la traduction que vous faites, votre fonction fonctionne.Si une fonction ASCII vers Décimal était utilisée, le caractère "A" renverrait 65
