Converter texto em números

Sumário

# Converter texto para 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!.

Somente inteiros incluindo expoentes serão convertidos, bem como as datas e horas ISO 8601 nos seus formatos estendidos com separadores. Qualquer outra coisa, como por exemplo números fracionários com separadores decimais ou datas em outro formato que não seja ISO 8601, não será convertido, já que a cadeia de caracteres de texto dependeria do local. Espaços em branco na frente e atrás do texto serão ignorados.

Os seguintes formatos ISO 8601 serão convertidos:

- 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

O código do século CC pode não ser omitido. Em vez da data T e o separador de horas, pode-se utilizar um único espaço exatamente.

Se for dada uma data, esta deve ser uma data válida do calendário Gregoriano. Neste caso, a hora opcional deve estar no intervalo 00:00 até 23:59:59.99999...

Se somente uma cadeia de caracteres representando horas for fornecida, ela poderá ter um número de horas maior que 24, enquanto que os minutos e segundos não poderão ultrapassar o valor de 59.

A conversão é feita pra valores escalares, não é feita em intervalos.

A conversão será feita somente para argumentos escalares singulares, como em =A1+A2, ou ="1E2"+1. Os argumentos de intervalo de célula não serão afetados, assim SOMA(A1:A2) será diferente de A1+A2 caso ao menos uma das duas células contém uma cadeia de caracteres conversível.

Cadeias de caracteres dentro de fórmulas também serão convertidas, como por exemplo ="1999-11-22"+42, que retornará a data 42 dias após 22 de novembro de 1999. Cálculos envolvendo datas regionais escritas como cadeias de caracteres dentro da fórmula retornarão um erro. Por exemplo, as datas regionais "11/22/1999" ou "22.11.1999" não podem ser utilizadas para a conversão automática.

Ao usar funções onde um ou mais argumentos são textos de critérios de pesquisa que representam uma expressão regular, a primeira tentativa é de converter o texto do critério em número. Por exemplo, ".0" se converterá em 0.0 e assim por diante. Se tiver sucesso, a verificação não será por expressão regular, mas por conversão numérica. Entretanto, ao mudar de região onde o separador decimal não é mais o ponto, a expressão regular passa a valer. Para forçar a avaliação da expressão regular de uma expressão numérica, utilize uma expressão que não possa ser confundida com um número, como por exemplo, .[0]" ou ".\0" ou mesmo "(?i).0".

## Exemplo

Em A1 entre com o texto '1e2 (que será convertido para o número 100 internamente).

Em A2 entre =A1+1 (que resulta corretamente em 101).

A fórmula =SOMA(A1:A2), retorna 101 em vez de 201 por que a conversão não ocorre num intervalo, somente para valores escalares singulares. Aqui, '1e2 é tratado como texto e ignorado na função SOMA.

=SOMA("1E2";1) retorna #VALOR! por que SOMA() e outras funções que iteram sobre sequências de números verificam explicitamente o tipo dos argumentos.

## Alterar a configuração padrão da conversão de texto para número

A conversão de texto em número pode ser personalizada na opção Configurações de cálculo detalhadas.

Tópicos relacionados

Configuração detalhada para cálculos

Formatar números como texto

Inserir um número com zeros iniciais

Formatar - Células - Números

Formatar números com decimais

♥ Doe para nosso projeto! ♥