Converting Text to Numbers

From LibreOffice Help
Jump to: navigation, search

Calc converts text inside cells to the respective numeric values if an unambiguous conversion is possible. If no conversion is possible, Calc returns a #VALUE! error.

Only integer numbers including exponent are converted, and ISO 8601 dates and times in their extended formats with separators. Anything else, like fractional numbers with decimal separators or dates other than ISO 8601, is not converted, as the text string would be locale dependent. Leading and trailing blanks are ignored.

The following ISO 8601 formats are converted:

  • CCYY-MM-DD
  • CCYY-MM-DDThh:mm
  • CCYY-MM-DDThh:mm:ss
  • CCYY-MM-DDThh:mm:ss,s
  • CCYY-MM-DDThh:mm:ss.s
  • hh:mm
  • hh:mm:ss
  • hh:mm:ss,s
  • hh:mm:ss.s

The century code CC may not be omitted. Instead of the T date and time separator, exactly one space character may be used.

If a date is given, it must be a valid Gregorian calendar date. In this case the optional time must be in the range 00:00 to 23:59:59.99999...

If only a time string is given, it may have an hours value of more than 24, while minutes and seconds can have a maximum value of 59.

The conversion is done for single arguments only, as in =A1+A2, or ="1E2"+1. Cell range arguments are not affected, so SUM(A1:A2) differs from A1+A2 if at least one of the two cells contain a convertible string.

Strings inside formulas are also converted, such as in ="1999-11-22"+42, which returns the date 42 days after November 22nd, 1999. Calculations involving localized dates as strings inside the formula return an error. For example, the localized date string "11/22/1999" or "22.11.1999" cannot be used for the automatic conversion.

Example

In A1 enter the text '1e2 (which is converted to the number 100 internally).

In A2 enter =A1+1 (which correctly results in 101).


Related Topics

Formatting Numbers as Text

Entering a Number with Leading Zeros

Format - Cells - Numbers

Formatting Numbers With Decimals