My Nano only have 4.2v in my 5v pin

I notice my LCD screen contrast changes from time to time. then I figure that I sometimes use my PC's usb port and sometimes use an external usb power supply. both won't give me 5 v. and I have an analog pin for measuring a voltage to determine an electrical current, and few other sensors.

My questions:
1, will this be a problem??
2, is so, how to solve it?

  //------------------->> Sensors
  // 8% difference from meter to arduino reading
  int shuntVal= analogRead(shuntPin);
  shuntMa=shuntVal*(5.0/1024.0*1000.0*0.92);              //shuntMa
  shuntMah=shuntMatotal/3600;                            //shuntMah

  //(21%) tempVal*0.2=F degree/ (F-32)X5/9=C degree 
  int tempVal= analogRead(tempPin);
  tempF=tempVal*0.21;                    // tempF
  tempC=(tempF-32)*5/9;                      // tempC

  if(tempC > tempAlarmValue) tempAlarm=1;
  else tempAlarm=0;

  //darkest 50-1010 lightest
  int lightVal= analogRead(lightPin);
  lightVal=map(lightVal, 50,1010,0,999);
  lightLevel=constrain (lightVal, 0, 999);             // lightLevel

  //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Sensors
  1. Could be.
  2. Use voltage dividers to get your analog inputs into the 0-3.3V range.
    Connect Aref to 3.3V and select external for the ADC reference voltage.
    If the 3.3V regulator output is not steady enough, add an external source.

Example of 3.3V reference