J'entre des caractères dans un champ de texte qui est essentiellement un identifiant à 5 chiffres. J'ai besoin que les zéros non significatifs soient inclus dans la valeur, mais chaque fois que j'entre ou calcule le champ, les zéros non significatifs sont supprimés (même si les propriétés du champ indiquent qu'il s'agit d'un champ texte à 5 caractères).
Comment forcer le champ à inclure des zéros non significatifs?
Mettez simplement votre texte entre guillemets. Double guillemets si vous êtes en mode Script VB et double ou simple si en mode Python.
Pour expliquer: Lorsque vous entrez simplement les nombres, vous donnez à Field Calculator une valeur sous forme d'entier, qu'il convertira en une chaîne pour vous afin de la saisir dans le champ de type de chaîne. Pour les entiers, les zéros non significatifs n'ont aucune valeur et aucune signification, ils sont donc omis. Si vous le mettez entre guillemets, vous lui passez plutôt une chaîne, qui est déjà le type de données correct, donc il reste seul.
Cela suppose également que ce champ est en fait de type "Texte". Peut-être qu'il était défini sur Entier long ou court, cela provoquerait également ce comportement.
la source
Vous pouvez utiliser un bloc de code Python .
Ajoutez cette définition de fonction dans le bloc de code:
Vous pouvez l'utiliser comme:
ou
la source
Comme mentionné dans les autres réponses, vous devez vous assurer que vos numéros sont convertis en chaînes.
Si vous perdez vos 0 ou les avez dans un champ numérique, créez une chaîne de largeur 5, tapez simplement la commande Python suivante:
la source