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.