Formato número como moeda

estou (a aprender) a usar o PHP para seleccionar os dados da coluna do MySQL numa matriz usando isto, {[[0]} e ele produz $1751, 60000 ou $10.00230 ou $7.23000, o que é óptimo.

No entanto, gostaria de remover os zeros finais, mas ainda assim ser capaz de ter um mínimo de duas casas decimais

$1,751.60000 = $1,751.60

$10.00230 = $10.0023

$7.23000 = $7.23

li uma série de artigos semelhantes sobre o número da conversão monetária, mas nenhum não parece resolver o meu problema, pois removem todos os zeros.

 0
Author: david, 2018-07-25

2 answers

Vamos implementar isto de duas maneiras.(Mysql, PHP).

MYSQL:

FORMAT('price', 2 ) esta é a função mysql. Ele leva o primeiro parâmetro como valor & segundo parâmetro é o número de casas decimais.

Sintaxe:

FORMAT( value, Decimal );

Exemplo:

FORMAT('1751.60000', 2 ) => 1751.60 // Output
FORMAT('1751.60000', 3 ) => 1751.600 // Output

PHP:

Em PHP temos a função number_ format (). Isto funciona como o MYSQL.

Sintaxe:

number_format( value, Decimal );

Exemplo:

number_format('1751.60000', 2 ) => 1751.60 // Output
number_format('1751.60000', 3 ) => 1751.600 // Output
A melhor maneira é implementar no MYSQL.

Nota: ambos função arredondar os valores.

 1
Author: Shivrudra, 2018-07-25 07:03:44

Vou postar este código em PHP já que é mais fácil para mim.

$price = $row['price']; // the original price
if (number_format($price, 2) == $price) {
    echo '$'.number_format($price, 2);
} else {
    echo '$'.rtrim(number_format($price, 5),'0');
}

rtrim irá remover qualquer carácter de perseguição indicado. Neste caso, remova os zeros que seguem.

Nota: só coloquei este código number_format($price, 5) por causa da amostra da pergunta. Se você deseja manter todo o número decimal menos seguir zeros, basta usar $price.

 0
Author: david, 2018-07-25 06:17:44