shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script-pt] Formatar string em R$


From: Dito Ramos
Subject: Re: [shell-script-pt] Formatar string em R$
Date: Fri, 25 Mar 2022 23:37:19 -0300



Blau,
Matou o problema.
Era exatamente disso que eu precisava.


──────────────────────────────────────────────────────────────────

De: "Blau Araujo"
Enviada: 2022/03/25 23:18:15
Para: shell-script-pt@nongnu.org
Assunto: Re: [shell-script-pt] Formatar string em R$


Como eu disse, depende da localização do seu sistema. Se não estiver com
as definições em pt_BR.UTF-8, provavelmente não precisará fazer a troca
do ponto pela vírgula na expansão, porque o ponto não causará problemas
para o `printf'.

Sobre o seu resultado que você já conseguiu, com vírgulas e pontos
trocados, basta um `tr' para resolver:

```
~ $ echo R\$1,234,567.00 | tr ',.' '.,'
R$1.234.567,00
```


Abraço
Blau Araujo
-----------------------------
https://debxp.org
https://blauaraujo.com

Em 25/03/2022 23:06, Dito Ramos escreveu:
> Blau Araujo, obrigado pela atenção.
> Mas, veja:
> arquivo formatareal.sh
>
> #!/bin/bash
> var="34522.77"
> printf "R$%'.2f\n" ${var//./,}
>
> valor="34522.77"
> echo R\$$(numfmt --grouping ${valor//./,})
>
> Resultado do script:
>
> ./formatareal.sh
> ./formatareal.sh: line 3: printf: 34522,77: invalid number
> R$0.00
> numfmt: invalid suffix in input: ‘34522,77’
> R$
>
> Pode ajudar?
>
> Grato.
>
>
>
>
> ──────────────────────────────────────────────────────────────────
>
> De: "Blau Araujo"
> Enviada: 2022/03/25 19:21:51
> Para: shell-script-pt@nongnu.org
> Assunto: Re: [shell-script-pt] Formatar string em R$
>
>
> O printf pode apresentar erros com o uso do ponto como separador de
> casas decimais (depende da localidade), então precisa de um pequeno
> tratamento:
>
>
> ```
> ~ $ var=34522.77
> ~ $ printf "R$%'.2f\n" ${var//./,}
> R$34.522,77
> ```
>
> Só por curiosidade, também podemos usar o `GNU numfmt', com o mesmo
> cuidado com o ponto:
>
> ```
> :~$ valor=34522.77
> :~$ echo R\$$(numfmt --grouping ${valor//./,})
> R$34.522,77
> ```
>
> Blau Araujo
> -----------------------------
> https://debxp.org
> https://blauaraujo.com
>
> Em 25/03/2022 18:14, Dito Ramos escreveu:
> > Olá, mestres!
> > Povo sumido.
> > Tenho as seguintes string armazenada em variáveis:
> > valor="34522.77"
> > valor1="34522.7"
> > valor3="0.00"
> > valor4="1000000.7"
> > valor5="1000000.78"
> > valor6="10000000.78"
> > valor7="1000000000.22"
> > Preciso converter esses valores para moeda brasileira, prá ficar assim:
> > 34.522,77
> > 34.522,70
> > 0,00
> > 1.000.000,70
> > 1.000.000,78
> > 10.000.000,78
> > 1.000.000.000,22
> > NOTA: Não preciso converter todos esses valores de uma só vez. Apenas
> > mandei exemplos.
> > Preciso de uma regra geral para converter esses valores em moeda real,
> > colocando pontos nos milhares e trocar o último ponto por vírgula.
> > RESUMINDO: transformar uma variável desse tipo em moeda brasileira.
> > Tentei com os comandos "tr", "sed", "wc", até cheguei numa solução
> > "gambiarrosa". Mas são muitos valores a tratar.
> >
> > Obrigado a todos que puderem ajudar.
> >
> > Dito Ramos
> >
> > _______________________________________________
> > Lista brasileira de usuários de shell script
> > Endereço de e-mail da lista: shell-script-pt@nongnu.org
> > Para se inscrever ou desinscrever acesse:
> https://lists.nongnu.org/mailman/listinfo/shell-script-pt
> > Para ver os arquivos da lista (mensagens anteriores) e pesquisar
> nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/
> >
> > NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor
> utilize somente esta.
>
> _______________________________________________
> Lista brasileira de usuários de shell script
> Endereço de e-mail da lista: shell-script-pt@nongnu.org
> Para se inscrever ou desinscrever acesse:
> https://lists.nongnu.org/mailman/listinfo/shell-script-pt
> Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas,
> acesse https://lists.nongnu.org/archive/html/shell-script-pt/
>
> NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor
> utilize somente esta.
>
> _______________________________________________
> Lista brasileira de usuários de shell script
> Endereço de e-mail da lista: shell-script-pt@nongnu.org
> Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
> Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/
>
> NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.

_______________________________________________
Lista brasileira de usuários de shell script
Endereço de e-mail da lista: shell-script-pt@nongnu.org
Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/

NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]