Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcelo Eduardo

[Resolvido] dividir uma string e formata-la em moeda com 2 casas

Recommended Posts

a variavel

$new_products['products_id']

é mostrada da sequinte forma

 

R$XX,XX

 

como eu faço pra dividir esta variavel em 3 e mostrar o resultado com apenas duas casas decimais se a variavel esta trazendo o R$ junto?

 

Consequi retirar o R$ e dividir por 3 mas o resultado apresentado foi:

 

3 ( sem as casas decimais se for numero inteiro)

3,3 (aqui falta o ultimo zero)

3,333333333333 (com muitas casas decimais quando é dizima periodica)

 

obrigado gente

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara vê se isso te ajuda....

 

function formato_preco($v_preco) {

$v_preco = sprintf("%01.2f",round($v_preco,2));

$v_preco = str_replace('.',',',$v_preco);

return $v_preco;

}

 

abraçoss....

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado por ajudar !!!!

 

não entendi como colocar este codigo

 

a linha que estou usando é esta:

 

. '</b></font><br>ou em 3x de R$' . $new_products['products_price']/3 .'');

 

o resultado é este:

 

R$ 1.3333333

ou

R$ 5

ou

R$ 5.4

 

ja consegui retirar o R$ da estring e dividir por 3 mas não consigo numeros inteiros com 2 casas decimais

 

qual o codigo devo colocar e onde?

Compartilhar este post


Link para o post
Compartilhar em outros sites

$total=$new_products['products_price']/3 ;

 

function formato_preco($total) {

$total = sprintf("%01.2f",round($total,2));

$total= str_replace('.',',',$total);

return $total;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Galera...!!!

 

olha Marcelo, tenta assim....

 

 

<?

// aqui eu coloquei o valor do jeito que você falou que ele recebe do banco

$valor = "R$155,24";

 

// aqui eu aplique a função substr do php, simplesmente ele só lê a string do 3º caractere pra frente

// lembrando que as strings começam a ser contadas do zero, porisso eu coloquei o '2'

// e divide a string por 3, é isso que você quer neh?

$valor = substr($valor,2)/3;

 

//aqui eu só mostro o valor do jeito que ficou antes da formatação, provavelmente ele ficou do jeito que você disse que tinha ficado, (51,66666666667)

echo $valor."<br>";

 

// aqui que ta o macete, tem uma função no php que chama number_format, que formata o numero do jeito que você quer, coloca ponto, virgula, etc... e ainda coloca na casa que você quer, no caso eu coloquei na segunda....

 

$preco = number_format($valor,2,',','');

 

 

// mostrando

echo "O preço agora é: ".$preco;

 

?>

 

 

espero ter ajudado,

 

 

[]'s

 

Eduardo Matsuzaki

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.