void setup() {
Serial.begin(115200);
Serial.println(last3Digits("12345")); // 345
Serial.println(last3Digits("789")); // 789
Serial.println(last3Digits("60")); // _60
Serial.println(last3Digits("5")); // __5
Serial.println(last3Digits("")); // __0
}
char * last3Digits(char * aString) {
char * retVal = "abc";
byte len = strlen(aString);
switch (len) {
case 0:
strncpy(retVal, "__0", 3);
break;
case 1:
retVal[0] = '_';
retVal[1] = '_';
retVal[2] = aString[0];
break;
case 2:
retVal[0] = '_';
retVal[1] = aString[0];
retVal[2] = aString[1];
break;
default: // len >= 3
strncpy(retVal, aString+len-3, 3); // copy only last 3 digits
}
retVal[3] = 0;
return retVal;
}
// ---------------------------------------------------
byte counter = 0;
void loop() {
Serial.print(counter);
Serial.print(" ");
delay(1000);
if (++counter > 9) { counter = 0; }
}