Formatação de preço

Publicado por Andre Cardoso (última atualização em 10/11/2012)

[ Hits: 4.246 ]

Homepage: http://www.andrebian.com

Download formataPreco.php




Este script tem por finalidade facilitar a formatação de preços. Trata somente centavos e milhares. Ex.: 111.000,50, caso seja formatado um valor em milhões o mesmo aparecerá desta forma: 1111.234,56

  



Esconder código-fonte

/**
 * @desc Utilizado para remover campos em excesso do preço
 * @param String $precoRecebido
 * @return String Preço formatado
 */
   function formataPreco($precoRecebido) {
      $precoExplode = explode('.',$precoRecebido);
      $reais = $precoExplode[0];
      $centavos = $precoExplode[1];
      
      if ( strlen( $reais ) > 3 ) {
         $quantidadeCasas = strlen($reais) - 3;
         $reais = substr($reais,0,$quantidadeCasas).'.'.substr($reais,$quantidadeCasas,3);
      } 
      if ( strlen($centavos) == 1 ){
         $centavos .= '0';
      } else if ( strlen( $centavos ) == 0 ) {
         $centavos = '00';
      }
      
      $precoFormatado = $reais.','.$centavos;
      
      return $precoFormatado;
   }

Scripts recomendados

Verificando dados por cep.

Guestbook Livrolivre

navegador de diretorio 2

Teste de url

Mural de recados em PHP


  

Comentários
[1] Comentário enviado por nickmarinho em 10/11/2012 - 13:27h

Desculpe a minha intromissão, mas não seria mais fácil fazer isso com a função nativa do PHP chamada "number_format" ?

[2] Comentário enviado por andrebian em 10/11/2012 - 15:41h

Pode ser formatado sim pelo number_format no entanto aqui é um script alternativo, caso o usuário queira um maior controle. sem contar com com o number_format o usuário vai ter que passar o parametro para tal formatação ex: $preco = number_format($precoDesejado, 2, ',', ' '); sendo que com este script basta um echo formataPreco($precoDeseado) não é muito mais fácil nickmarinho??? bolei este script pensando em facilitar o uso.

[3] Comentário enviado por nickmarinho em 10/11/2012 - 22:57h

Não, tudo bem, é que já uso tanto o number_format e acho tão simples que não pensei dessa forma ... de qualquer maneira com certeza será útil... valeu a dica !! Abç

[4] Comentário enviado por andrebian em 15/11/2012 - 16:36h


[3] Comentário enviado por nickmarinho em 10/11/2012 - 22:57h:

Não, tudo bem, é que já uso tanto o number_format e acho tão simples que não pensei dessa forma ... de qualquer maneira com certeza será útil... valeu a dica !! Abç



tranquilo, o que vale é mostrar as diferentes formas de solucionar o mesmo problema, acho que toda opinião é válida, lógico que sendo útil, como a sua foi. Devo desconsiderar opinião de quem critica e não mostra uma alternativa à resolução, valeu pelo comentário...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts