Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

converter texto numérico em número

Senhores,

estou com uma dificuldade muito grande em transformar um texto com 18 caracteres numéricos em um número dentro do script.

Usamos a fórmula Num#(REPLACE(LTRIM(REPLACE())), porém o resultado numérico não aceita o comando de soma. Há alguma diferença em efetuar uma soma dentro do script ou dentro do objeto?

O comando Num() ou Num#() não atenderam, pois não aceita soma. Alguém pode ajudar?

O que preciso fazer é isto:

TextoResultado desejado
00000000000000147514,75

Luiz Guedes

Labels (2)
1 Solution

Accepted Solutions
Not applicable
Author

sempre os 2 últimos serão os decimais?

NUM(NUM(TEXTO) / 100, '###.###,##')

View solution in original post

9 Replies
Not applicable
Author

sempre os 2 últimos serão os decimais?

NUM(NUM(TEXTO) / 100, '###.###,##')

Anonymous
Not applicable
Author

Isso mesmo Eduardo, sempre os dois últimos dígitos serão decimais.

Porém esta fórmula não resolveu, continua valores como texto não sendo encontrados para o cálculo.

Not applicable
Author

que estranho, eu testei aqui e consegui fazer cálculos com o campo, como é o cálculo que você faz?

poderia postar algum exemplo?

klaus_gibin
Partner - Contributor II
Partner - Contributor II

Luiz, isso funcionou no teste que fiz:

num(left(replace(CAMPO,0,''), LEN(replace(CAMPO,0,'')) - 2 )&','&

  right(replace(CAMPO,0,''),2),'#.##0,00') as CAMPO

Substitua o "CAMPO" para seu campo

Anonymous
Not applicable
Author

Aqui trabalhamos com um banco de dados muito grande, e dentro deste banco há números que não são transformados em texto. O que precisamos fazer aqui seria mais ou menos assim:

NUM(NUM(TEXTO) / 100, '###.###,##')     as      Crédito

NUM(NUM(TEXTO) / 100, '###.###,##')     as      Débito

load Distinct

Crédito - Débito      as      Saldo

Porém, como há dado considerado texto o cálculo para o Saldo não fica correto.

Esta fórmula, NUM(NUM(TEXTO) / 100, '###.###,##'), não conseguiu afetar o cálculo, mantendo os mesmos resultados incorretos.

luizmendes118
Contributor III
Contributor III

Assim acho que funciona.

Anonymous
Not applicable
Author

Klaus, esta fórmula assim como a do Eduardo, transforma os números, porém não os soma. Ou seja, quando preciso fazer os cálculos (subtrair um pelo o outro) não retorna valor ou retorna valor indevido.

Alguém sabe o porquê disso?

Not applicable
Author

eu testei fazer um inline e converter, fiz os cálculos e não gerou nenhum erro,

como que aparece para você quando vai gerar essa subtração? ele gera erro pra executar o script?

segue o exemplo que fiz anexado, testei no QV11 e 12.

Anonymous
Not applicable
Author

Eduardo, não estava dando certo aqui por que o campo do nosso dado tem 18 caractere, e o Qlik só transforma em número os dados com até 14 caractere.

Agora deu certo, retiramos 4 caractere a esquerda (são zeros) e a sua fórmula resolveu.

Show de bola, muito obrigado!

Abraço