analyser un caractère de nombre commençant par 0 et conserver le zéro initialSalut,
Je veux faire un vecteur de valeurs qui proviennent d'une colonne dans un datatable. Certaines de ces valeurs commencent par le nombre zéro. Lorsque j'utilise la commande parse, elle tronque le zéro depuis le début du nombre. La colonne est définie comme une colonne de caractères. Le script que j'utilise est eval (parse (column (DTI, "bar_pen") [i]))); Comment puis-je faire cela et conserver mes zéros initiaux?
Merci,
Tova
Re: analyser un caractère de nombre qui commence par 0 et garder le zéro initialmerci, c'est une solution beaucoup plus soignée que celle que j'ai trouvée ...
Re: analyser un caractère de nombre qui commence par 0 et garder le zéro initialdt = New Table( "Untitled",
Add Rows( 3 ),
New Column( "Bar_Pen", Character, Set Values( {"0001", "9999", "0900"} ) )
);
list = dt:Bar_pen << getvalues;
show(list); // {"0001", "9999", "0900"};
v = dt:Bar_Pen[3];
show(v, parse(v), char(parse(v))); // "0900", 900, "900"
Vous n’avez peut-être pas besoin de faire l’analyse qui convertit les données de caractères en code (ce qui n’est qu’un nombre, le plus probable.) Ensuite, vous n’avez pas besoin d’évaluer le code analysé, ni de convertir la réponse évaluée ( un nombre) retour à une chaîne. Si les valeurs doivent être nettoyées à cause d'erreurs de saisie, eval / parse peut sembler fonctionner mais échouera si un utilisateur malicieux met du code incorrect dans la table.
Re: analyser un caractère de nombre qui commence par 0 et garder le zéro initialc'est ce qui a fonctionné pour moi à la fin:
Repeat ("0", 4 - length (char (eval (parse (colonne (DTI, "Bar_Pen")))) [i]))))) || char (eval (analyse (colonne (DTI, "Bar_Pen") [i])));