VSThiran

Why does Excel show my CSV numbers as 1.23E+12?

Quick answer

Excel's number type reliably stores about 15 significant digits. A 16-digit card or account number read in as a number gets rounded to fit and displayed in scientific notation - and the digits past the 15th are genuinely gone, not just hidden behind the display format. The fix is to keep that column as text from the start, rather than trying to reformat it back afterward.

  1. 1Convert the CSV to Excel with long-digit columns kept as text, before the value is ever read as a number.
  2. 2If the file is already saved with the digits rounded, the original value cannot be recovered from it - it has to come from the original source again.

Free, no sign-up, and your file is read on your own device rather than uploaded.

Excel stores numbers using double-precision floating point, which reliably holds about 15 significant digits. A card number, an account number or a barcode with 16 or more digits does not fit, so Excel rounds it and switches to scientific notation (1.23457E+15) to display what is left - the digits past the fifteenth are not merely hidden, they no longer exist in the file once it is saved that way.

This is a stricter version of the leading-zero problem: even a long number with no leading zero at all can lose precision, purely because of how many digits it has. The fix is the same - the column has to be typed as text before Excel ever treats it as a number, not reformatted afterward once the damage is done.

Step by step

  1. Spot columns at risk before opening the CSV in Excel

    Card numbers, IBANs, barcodes, long account or reference numbers - anything with twelve or more digits.

  2. Convert with those columns protected as text

    Long digit runs are detected and protected automatically.

    CSV to Excel
  3. Verify a sample value

    Check that a known long number still has every original digit after conversion.

Tips

  • Reformatting an already-rounded cell back to "Number" or "Text" in Excel will not restore the lost digits - once they are rounded away and the file is saved, they are gone.
  • This affects any sufficiently long digit string, not just card numbers - barcodes (12-13 digits), some invoice or reference numbers, and long account numbers are all at risk.

Common problems

The last few digits of a card or account number are now all zeros.

That is floating-point rounding, and it is not recoverable from the saved file - re-import from the original source with the column set to text from the start.

Frequently asked questions

How many digits can Excel actually store accurately?
About 15 significant digits. A number with 16 or more digits will lose precision in the digits beyond the 15th once stored as a number.
Does this only affect card numbers?
No - any sufficiently long digit string is affected: barcodes, IBANs, long account or reference numbers, and similar identifiers.
Can I fix it after the file has already been saved with the rounded numbers?
No - the original digits are gone once rounded and saved. The fix has to happen when the CSV is first converted, using the original source data.

Related data tools

Related articles

Ready to do it?

Free, no sign-up, and nothing is uploaded to a server.