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:06:55 -0300

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.

reply via email to

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