Itoa() function

hi , itoa () not converting the more than 4 digits number .

char numberArray[20];
uint32_t number = 3500; // 4 digits 
void setup() 
  {
    Serial.begin(9600);
    
  }
void loop()  
  {  

     
   itoa(number,numberArray,10);
   Serial.println(numberArray);
    
   delay(1000);
  }

output : 3500 .

char numberArray[20];
uint32_t number = 35000; // 5 digits 
void setup() 
  {
    Serial.begin(9600);
    
  }
void loop()  
  {  

     
   itoa(number,numberArray,10);
   Serial.println(numberArray);
    
   delay(1000);
  }

output : - 30536

but if i give more than four digits it's turn to error result

the 'i' in itoa() is for int. 2 bytes on a UNO so you overflow.

Try ltoa() for a long or better in your case ultoa() for an unsigned long as you have declared number (an uint32_t)

char numberArray[20];
uint32_t number = 35000; // 5 digits


void setup() {
  Serial.begin(115200);
  itoa(number, numberArray, 10);
  Serial.println(numberArray);
  ltoa(number, numberArray, 10);
  Serial.println(numberArray);
  ultoa(number, numberArray, 10);
  Serial.println(numberArray);
}

void loop() {}

wow , great & thanks

have fun !