Un convertisseur reste prévisible si sa grammaire est plus stricte que celle des littéraux de programmation. NumberBase impose la base source puis traite l’entrée comme une chaîne signée de cet alphabet. Il ne déduit rien de 0x, 0b, d’un point ou d’un exposant.

La saisie ignore la casse ; la sortie est en majuscules

A et a représentent tous deux 10, jusqu’à Z et z pour 35. La casse ne crée pas de nombres différents. La sortie canonique emploie A–Z en majuscules ; FF et ff donnent donc le même résultat normalisé.

Le moins est un signe, pas un chiffre

Un seul moins ASCII peut apparaître avant le premier chiffre. Il s’applique à toute la valeur absolue et reste devant toute sortie non nulle, y compris binaire. Le convertisseur utilise signe et valeur absolue ; il n’invente ni largeur ni complément à deux. Le zéro négatif devient 0.

Refusez la syntaxe ambiguë au lieu de la réparer

Espaces, signe plus, préfixes, traits de soulignement, virgules, points, exposants, chiffres Unicode ressemblants et texte sont exclus. Les zéros initiaux sont acceptés puis retirés de la sortie. Une entrée vide ou un signe sans chiffre est invalide.