Conteúdo
Índice 🔎︎

# Converter texto em números

As definições padrão do Calc convertem o texto das células para os seus valores numéricos se for possível uma conversão não ambígua. Se a conversão não for possível, o Calc devolve o erro #VALOR!.

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.

Os seguintes formatos ISO 8601 são convertidos:

- SSAA-MM-DD

- SSAA-MM-DDThh:mm

- SSAA-MM-DDThh:mm:ss

- SSAA-MM-DDThh:mm:ss,s

- SSAA-MM-DDThh:mm:ss.s

- hh:mm

- hh:mm:ss

- hh:mm:ss,s

- hh:mm:ss.s

O código do século SS não pode ser omitido. Em vez do separador de data e hora T, terá de ser utilizado exatamente um carácter de espaço.

Se for indicada uma data, terá de ser uma data válida do calendário gregoriano. Neste caso, a hora opcional terá de estar compreendida no intervalo 00:00 a 23:59:59.99999...

Se for indicada apenas uma cadeia de hora, esta poderá incluir um valor de horas superior a 24, enquanto que os minutos e os segundos podem ter um valor máximo de 59.

The conversion is done for single scalar values only, not within ranges.

The conversion is done for single scalar values, 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.

As cadeias dentro de fórmulas também são convertidas, tal como em ="1999-11-22"+42, que devolve a data 42 dias depois de 22 de novembro de 1999. Os cálculos que envolvem datas localizadas como cadeias dentro da fórmula devolvem um erro. Por exemplo, não é possível utilizar a cadeia de data localizada "11/22/1999" ou "22.11.1999" para a conversão automática.

When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as ".[0]" or ".\0" or "(?i).0".

## Exemplo

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

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

The formula =SUM(A1:A2), returns 101 instead of 201 because the conversion does not occur in a range, only for single scalar values. Here, '1e2 is treated as string which has value 0 for the SUM function.

=SUM("1E2";1) returns #VALUE! because SUM() and some others that iterate over number sequences explicitly check the argument type.

## Changing the default text to number conversion settings

The text to number conversion can be customized in the Detailed Calculation Settings option.

Tópicos relacionados

Detailed Calculation Settings

Formatar números como texto

Introduzir números com zeros à esquerda

Formatar - Células - Números

Formatar números com casas decimais