error detecting rfid tags

sir im new to arduino my project is using RFID
when tag is shown in rfid it transmits tag information via xbee
on arduino serial data received via xbee
But when tag is shown on reader it produces output like this "16703301"
i cant predetermine this in aurdino program my code is

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

String readString;

void setup() {
	Serial.begin(9600);
         lcd.begin(16, 2);
        }

void loop() {

        
        lcd.setCursor(0, 1);
        while (Serial.available()) {
        delay(10);  
    
        char c = Serial.read();  
        if (c == ',') {break;}  
        readString += c; }
            
      if (readString.length() >0) {
      Serial.println(readString); 

       if(readString == 16703301) // Here i can determine tag no only 
       {
          Serial.print("hello");
          lcd.print("hello");
        }
        
        else if(readString == 16705890)
       {
          Serial.print("HI");
          lcd.print("hi");
        }
        else
        {
          Serial.print("enterno");
          lcd.print("enter no");
        }
        readString=""; 
   }
}

Moderator edit: CODE TAGS

so when tag is shown it cant execute if loop it displays enter no:

can anyone help to fix this
im using 125KHZ RFID Reader

vsathish:

String readString;    

if(readString == 16703301) // Here i can determine tag no only

You should probably be comparing String to a character string, not an integer constant:

       if(readString == "16703301")

sir i tried tht it works when i send data via serial monitor
but when this transmitted via xbee 16703301 it displaying serial data as 16703301 and showing enter no
RFID Reader sends 16703301 this data via xbee
if i connect receiver xbee to pc and opened RS232 analyzer in tht it displays 16703301 this data correctly.
BUT in aurdino

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

String readString;

void setup() {
	Serial.begin(9600);
         lcd.begin(16, 2);
        }

void loop() {

        //expect a string like wer,qwe rty,123 456,hyre kjhg,
        //or like hello world,who are you?,bye!,
        lcd.setCursor(0, 1);
        while (Serial.available()) {
        delay(10);  //small delay to allow input buffer to fill
    
        char c = Serial.read();  //gets one byte from serial buffer
        if (c == ',') {break;}  //breaks out of capture loop to print readstring
        readString += c; } //makes the string readString  
            
      if (readString.length() >0) {
      Serial.println(readString); //prints string to serial port out
      
       if(readString =="16703301<CR><LF>")
       {
          Serial.print("hello");
          lcd.print("hello");
        }
        
        else if(readString == 16705890)
       {
          Serial.print("HI");
          lcd.print("hi");
        }
        else
        {
          Serial.print("enterno");
          lcd.print("enter no");
        }
        readString=""; //clears variable for new input
   }
}

Moderator edit: CODE TAGS again.

and showing this no only 16703301
wht can i do pls help me sir

"16703301<CR><LF>"

Is that really what is transmitted?
Or is it "16703301\r\n" ?

When posting code, please use the # icon on the editor's toolbar to give a code box - it avoids all sorts of potential code corruption and misinterpretation.

sir i write this program to check rfid output when i declared as char it displays card no as 16703310
but when i declare as string it displays the rfid output as 49545548515148491310

#include <LiquidCrystal.h>

String  incoming = 0;  
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() 
{
  lcd.begin(16, 2);
  lcd.print("ARMCET");
  Serial.begin(9600);   
}

void loop() 
{
  lcd.setCursor(0, 1);
  if (Serial . available() > 0) {
                incoming =  Serial.read();
                //Serial.println( "I received: ");
                lcd.println( incoming  );
                Serial.print(incoming ); 
                
              
}
}

49 54 55 48 51 51 48 49 13 10

ASCII - look up the codes.

What happened to the code tags?

And stop calling everyone "sir" .

16703301 only sir the got in RS232 analyzer

I don't understand your last post.

What happened to the code tags?
i cant understand this sir im new to aurdino code tags means

When posting code, please use the # icon on the editor's toolbar to give a code box - it avoids all sorts of potential code corruption and misinterpretation.
Put your code between the [ code ] [ / code ] tags which appear.

Stop calling me "sir" - I am not (yet) a Knight of the Realm.

first i checked the serial input of aurdino thts y i wrote this program

#include <LiquidCrystal.h>

String  incoming = 0;  
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() 
{
  lcd.begin(16, 2);
  lcd.print("ARMCET");
  Serial.begin(9600);   
}

void loop() 
{
  lcd.setCursor(0, 1);
  if (Serial . available() > 0) {
                incoming =  Serial.read();
                lcd.println( incoming  );
                Serial.print(incoming ); 
                
              
}
}

in this when i declared as char it shows the card no as 16703301 but when i change the decleration as string it shows card no as 49545548515148491310

in the below prg i declered as string only #include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

String readString;

void setup() {
	Serial.begin(9600);
         lcd.begin(16, 2);
        }

void loop() {

        //expect a string like wer,qwe rty,123 456,hyre kjhg,
        //or like hello world,who are you?,bye!,
        lcd.setCursor(0, 1);
        while (Serial.available()) {
        delay(10);  //small delay to allow input buffer to fill
    
        char c = Serial.read();  //gets one byte from serial buffer
        if (c == ',') {break;}  //breaks out of capture loop to print readstring
        readString += c; } //makes the string readString  
            
      if (readString.length() >0) {
      Serial.println(readString); //prints string to serial port out
      
       if(readString =="16703301<CR><LF>")// here i changed to "49545548515148491310" but when card shown it is not executing this loop
       {
          Serial.print("hello");
          lcd.print("hello");
        }
        
        else if(readString == 16705890)
       {
          Serial.print("HI");
          lcd.print("hi");
        }
        else
        {
          Serial.print("enterno");
          lcd.print("enter no");
        }
        readString=""; //clears variable for new input
   }
}

Right, go back to you last post.
Click on "modify".
Highlight all the code, then click on the # icon on the toolbar, then click "save".

Then we can talk.

shows card no as 49545548515148491310

I've already explained that bit - look up the decimal values of the ASCII codes for the digits 16703301