1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

[RESOLVIDO] Converter número

Discussão em 'EMS , HCM e Totvs 11' iniciado por weiss_sbs, Setembro 30, 2014.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. weiss_sbs

    weiss_sbs Membro Participativo

    Como converter os valores:

    20.0000 para ficar igual a 20.000,00
    e 10.1800000000 para ficar igual a 10,18
  2. jaisonantoniazzi

    jaisonantoniazzi Membro Ativo

    boa tarde @weiss_sbs tudo bom?
    tem um problema aí. O teu ponto ora é separador de milhar, ora separador de decimal.
    Tem que harmonizar!
  3. weiss_sbs

    weiss_sbs Membro Participativo

    pois é eu importo esses valores de um XML e recebo assim
    1 nfeProc_NFe_infNFe_det_nItem_prod_qCom 20.0000
    1 nfeProc_NFe_infNFe_det_nItem_prod_vUnCom 10.1800000000
    1 nfeProc_NFe_infNFe_det_nItem_prod_vProd 203.60
  4. jaisonantoniazzi

    jaisonantoniazzi Membro Ativo

    somente com alguma especificação para decimais e campos é que a conversão funcionará!
    Deve ter alguma regra especial para os campos.
  5. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Vc pode tentar uma das duas alternativas abaixo... No XML da NFe o padrão é AMERICANO, ou seja, o separador de casas decimais é "." e nao existe separador de milhares, então quando um valor numerico existir com "." é o separador de casas decimais.

    message dec(replace(entry(3,"1 nfeProc_NFe_infNFe_det_nItem_prod_qCom 20.0000"," "),".",",")) skip
    dec(replace(entry(3,"1 nfeProc_NFe_infNFe_det_nItem_prod_vUnCom 10.1800000000"," "),".",",")) skip
    dec(replace(entry(3,"1 nfeProc_NFe_infNFe_det_nItem_prod_vProd 203.60"," "),".",",")) view-as alert-box.

    message dec(entry(3,"1 nfeProc_NFe_infNFe_det_nItem_prod_qCom 20.0000"," ")) / 10000 skip
    dec(entry(3,"1 nfeProc_NFe_infNFe_det_nItem_prod_vUnCom 10.1800000000"," ")) / 10000000000 skip
    dec(entry(3,"1 nfeProc_NFe_infNFe_det_nItem_prod_vProd 203.60"," ")) / 100 view-as alert-box.

    Veja que no primeiro exemplo, estou substituindo o "." por "," e convertendo o valor de string para decimal e no segundo eu converto direto para decimal e depois divido pelo numero de casas decimais.
  6. weiss_sbs

    weiss_sbs Membro Participativo

    Valeu obrigado.
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página