Postagem em destaque

sed - Convertendo base decimal para moeda real

Usando só sed para criar uma função de conversão de base decimal para moeda (Real). O valor é passado pela entrada padrão (PIPE), valores não números não são processados pelo sed.

conv_real() { 
    sed 's/[^0-9]//g;s/..$/\n&/;:a;s/\B[0-9]\{3\}\>/.&/;ta' | \
    sed 'N;s/\n/,/;s/^.\{3\}$/0&/' | sed 's/^.$/0,0&/;s/^/R$ /' \
    return 0 
}

Uso: echo valor_decimal | conv_real


echo '1' | conv_real
R$ 0,01

echo '12' | conv_real
R$ 0,12

echo '123' | conv_real
R$ 1,23

echo '1234' | conv_real
R$ 12,34

echo '12345' | conv_real
R$ 123,45

echo '123456' | conv_real
R$ 1.234,56

echo '1234567' | conv_real
R$ 12.345,67

echo '12345678' | conv_real
R$ 123.456,78

echo '123456789' | conv_real
R$ 1.234.567,89

echo '1234567890' | conv_real
R$ 12.345.678,90

Comentários

Contato

Nome

E-mail *

Mensagem *