Supprimer les zéros non significatifs dans le fichier de commandes

Dans mon application, j'obtiens un nombre a de zéros. Je suis en train de couper les zéros et d'obtenir le nombre réel. J'ai essayé d'utiliser /a interrupteur qui estime droite de l'affectation comme une expression arithmétique. J'ai donc essayé:

SET /a N = 00027

Ci-dessus m'a donné la sortie de 23 qui est l'équivalent décimal d'un nombre octal 27. Ensuite, j'ai trouvé cette solution en ligne.

SET N = 00027
SET /a N = 1%N%-(11%N%-1%N%)/10

Cela semble de travail et donne de la sortie 27. Est-il beaucoup plus facile façon de couper les zéros non significatifs dans un fichier batch?

  • Pas ce que je peux trouver. 🙂 Le problème est que, comme vous pouvez le voir, le premier zéro sans suite x indique que vous êtes en utilisant un nombre octal (0x0027 indique un nombre hexadécimal). La seule façon de les éliminer est de concaténer une valeur non nulle sur la gauche pour faire apparaître une valeur décimale, puis retirez la quantité ajoutée. (Vous pouvez voir le nombre de formats pris en charge en utilisant une valeur non valide dans l'opération, comme set /a N=d/1, qui produit " numéro non Valide. Les constantes numériques sont décimales (17), hexadécimal (0x11), ou octal (021).".
  • Vous avez trouvé un one-liner solution qui répond à ce que vous voulez. Quoi d'autre avez-vous besoin? 🙂
  • Voir aussi: robvanderwoude.com/battech_leadingzero.php
InformationsquelleAutor Mahesh | 2013-02-07