PHP é à quinta-feira – Formatar Números em Dinheiro

18 Comentários

Boas. A nível de direitos sobre o código, devo-vos remeter para o meu primeiro artigo desta rubrica.

Nesta semana apresento-vos uma função muito simples e pequena mas útil, cujo objectivo é mostrar um número na forma de dinheiro, ou seja, com a formatação de moeda do idioma em causa (para definir o idioma, usem o set_locale()).

<?php
function formatMoney($number,$format = "€ [AMOUNT]") {
	$formatted = "";
	$fn = number_format($number,2);
	$formatted = str_replace("[AMOUNT]",$fn,$format);
	return $formatted;
}

?>
Modo de utilização:

É bastante simples e intuitivo, segue um exemplo de como mostrar em formato de dinheiro o valor 15.50

<?php
$number = 15.50;
echo formatMoney($number);//-- Vai mostrar € 15.50

$gbp = “£ [AMOUNT]”;
echo formatMoney($number,$gbp);//-- Vai mostrar £ 15.50, mas para ser mais correcto dever-se-ia utilizar o set_locale() antes.

?>

Nota: Como podem reparar no exemplo, para definir um símbolo diferente, coloquem uma string com esse símbolo e [AMOUNT] onde deve ir o dinheiro formatado.

Qualquer dúvida ou sugestão, estão completamente à vontade.

Como vou entrar em exames, etc., se quiserem enviar as vossas propostas para esta rubrica, agradeço, pois será difícil escrevê-la até ao final de Julho.

Comentários

18

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de tintas
    tintas

    LoL. Quase que era à sexta

    1. Avatar de Bruno Bernardino

      Foi para manter o pessoal na expectativa 😉

      1. Avatar de softclean
        softclean

        Eu também já estava a pensar “então e o post do PHP? já é quinta!”, mas isto nunca falha ou raramente falha, pelos vezes.

        Como de costume, mais uma dica interessante, e esta desconhecia.

        Mas se calhar com datas, o exemplo tinha sido mais “equilibrado”, porque num website com vários idiomas, é correcto usar esta função para trocar as datas, mas já não o é para o dinheiro, por causa dos câmbios.

        1. Avatar de Bruno Bernardino

          É uma questão de adicionar uma função de conversão antes de imprimir 🙂

  2. Avatar de Seu Madruga
    Seu Madruga

    Muito legal 😎

  3. Avatar de delaorden9.com

    valeu Bruno, sempre alto nivel ! keep it up buddy 😎

    carlos rajas

  4. Avatar de André T.

    Eu normalmente utilizo assim…

    5.50
    echo number_format($custo_float, 3); // print-> 5.501
    echo number_format($custo_float, 4); // print-> 5.5010

    //output final
    $custo = “€ ” . number_format($custo_float, 2);

    return $custo;

    ?>

  5. Avatar de André T.

    O post anterior o código PHP saiu um bocado marado :\

    1. Avatar de Bruno Bernardino

      O da semana passada? Marado como?

      1. Avatar de Andre T.

        Não, parece que o parte do codigo que escrevi foi interpretado/executado nesta pagina.

        1. Avatar de Bruno Bernardino

          Ah, sim, se queres colocar o < ou o >, tens de escrever o código html deles, ou seja &lt; e &gt;

  6. Avatar de Nuno Peralta
  7. Avatar de maisAlojamentoWeb

    eu sei que aqui a especialidade é php, mas se alguém tiver alguma rotina semelhante em asp ou asp.net era interessante

    🙂

  8. Avatar de 3biz
    3biz

    Mto Nice. Bons posts!

  9. Avatar de delaorden9

    Pessoal, me desculpem entrar na sala na qual não posso comentar por pura falta de preparo, mas é que tenho uma questão e pensei que vocês aqui poderiam me ajudar. No script que vou colcoar aqui logo em seguida, onde eu altero para que o video não comece automaticamente, ou seja que só começe quando o visitante clicar no play…..

    [vodpod id=Groupvideo.2775719&w=625&h=550&fv=config%3Dhttp%253A%252F%252Fwww.liveleak.com%252Fflash_config_new.php%253Ffile_embed_tag%253D9af_1186321120%2526width%253D445%2526%3Dhttp%3A%2F%2Fwww.liveleak.com%2Fd-related.swf%26drelated.dxmlpath%3Dhttp%3A%2F%2Fwww.liveleak.com%2Fmore_videos.php%3Ftoken%3D9af_1186321120%26drelated.dposition%3Dcenter%26drelated.dskin%3Dhttp%3A%2F%2Fwww.liveleak.com%2Fgrayskin.swf%26drelated.dtarget%3D_self]

    Bruno, obrigado pela oportunidade e se quiser pode responder ou por aqui ou no meu blog mesmo. Obrigado galera !
    🙄

  10. Avatar de delaorden9

    correção ::;

    [vodpod id=Groupvideo.2775719&w=625&h=550&fv=config%3Dhttp%253A%252F%252Fwww.liveleak.com%252Fflash_config_new.php%253Ffile_embed_tag%253D9af_1186321120%2526width%253D445%2526%3Dhttp%3A%2F%2Fwww.liveleak.com%2Fd-related.swf%26drelated.dxmlpath%3Dhttp%3A%2F%2Fwww.liveleak.com%2Fmore_videos.php%3Ftoken%3D9af_1186321120%26drelated.dposition%3Dcenter%26drelated.dskin%3Dhttp%3A%2F%2Fwww.liveleak.com%2Fgrayskin.swf%26drelated.dtarget%3D_self]

    1. Avatar de Bruno Bernardino

      olá Carlos, peço desculpa mas não consigo perceber nada por aqui.

      Envie-me o html para o meu email (tem-no dos comentários no seu blog) e eu tento ajudar.