Kann man einen Integer mit führenden Nullen kreieren?

Hallo,
ich bastel an einem Arduino welcher einen String zerlegt und die darin enthaltenen Zahlen in einzelne Integer Variablen speichern.

Beispiel für den String: "GPS001.002"

Wenn ich jetzt im String zwischen "S" und dem Punkt "." die 001 als neuen String speicher, und diesen mit "toInt()" in einen Int umwandel, dann steht in dieser Variable der Wert 1, ich bräuchte aber "001".

Wie kann ich diese 001 kreieren?? (auch anderer zahlen-datentyp ist ok, muss später in HEX umgewandelt werden)

Ein int Datentyp ist eine Zahl. Die kannst du darstellen, wie du willst.

int i = 1;
int j = 001;

if ( i == j ) Serial.println(" Die Zahlen haben beide den Wert 1 ");

j = 17;

Serial.println(j,DEC); // 17
Serial.println(j,HEX); // 11

char buffer[10];

sprintf(buffer, "%03d", j); // Zahl in Text wandeln: 3 Stellen mit führenden Nullen, dezimal
Serial.println(buffer); // Den Text ausgeben --> 017

Hallo,

Du benötigst das nur zur optischen Darstellung auf einem Display oder so? Denn ansonsten ist das egal ob da 1.002 oder 01.002 oder 001.002 da steht.

DennisEB:
Wie kann ich diese 001 kreieren??

Aus der AVR libc Library kommen zur Umwandlung von einem int in einen String in Frage:

sprintf
snprintf