In meiner Anwendung bekomme ich eine Nummer mit führenden Nullen. Ich versuche, die führenden Nullen zu trimmen und die tatsächliche Nummer zu erhalten. Ich versuchte, /a
Schalter zu verwenden, der rechte Seite der Zuordnung als einen arithmetischen Ausdruck betrachtet. Also habe ich versucht:Entfernen Sie führende Nullen in Batch-Datei
SET /a N = 00027
Die oben gab mir die Ausgabe von , die die entsprechenden Dezimalzahl Octalzahl . Dann habe ich online this solution gefunden.
SET N = 00027
SET /a N = 1%N%-(11%N%-1%N%)/10
Dies scheint zu funktionieren und gibt den Ausgang . Gibt es eine viel einfachere Möglichkeit, die führenden Nullen in einer Batch-Datei zu trimmen?
Nicht, dass ich finden kann. Das Problem ist, dass, wie Sie sehen können, die führende Null ohne folgendes 'x' anzeigt, dass Sie eine Oktalzahl verwenden (' 0x0027' steht für eine Hexzahl).Die einzige Möglichkeit, es zu entfernen, besteht darin, einen Wert ungleich Null auf der linken Seite zu verketten, damit er als Dezimalwert erscheint, und dann die hinzugefügte Menge zu entfernen. (Sie können die unterstützten Zahlenformate sehen, wenn Sie einen bekannten ungültigen Wert in der Operation verwenden, wie 'set/a N = d/1', was 'Ungültige Zahl' ergibt. Numerische Konstanten sind entweder dezimal (17), hexadezimal (0x11), oder oktal (021). ". –
Sie haben eine One-Liner-Lösung gefunden, die das macht, was Sie wollen. Was brauchen Sie sonst noch? :) – mrt
Siehe auch: http://www.robvanderwoude.com/battech_leadingzero.php –