Ir para conteúdo

POWERED BY:

Arquivado

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

alysson122010

Como formatar ponto em número

Recommended Posts

Gente estou com um probleminha aqui.

Tenho este código:

print str_pad($valor, 9, "0", STR_PAD_LEFT);

ele mostrar um numero assim 000001021 quero que ele mostre assim 0.00001021 para quando ele preencher todos os zeros do lado direito ele fique assim 1.00001021 e assim sucessivamente.

 

Como posso fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

number_format();. Funciona assim: number_format(NUMERO, QUANTIDADE DE CASAS DECIMAIS, SINAL UTILIZADO PARA SEPARAR OS DECIMAIS, SINAL UTILIZADO PARA SEPARAR OS MILHARES);

 

Exemplo:

echo number_format(10.0052, 2, ',',  '.');
// irá imprimir: 10,00

echo number_format(10.0052, 4, ',',  '.');
// irá imprimir: 10,0052

echo number_format(10.0052, 2, '.',  ',');
// irá imprimir: 10.00

echo number_format(1000.0052, 2, ',',  '.');
// irá imprimir: 1.000,00

echo number_format(1000.0052, 4, ',',  '.');
// irá imprimir: 1.000,0052

echo number_format(1000.0052, 4, '.',  ',');
// irá imprimir: 1,000.0052

E mesmo se colocar um inteiro, ele imprime os decimais. É muito útil pra formatar valores em Reais, por exemplo.

echo number_format(50, 2, ',',  '.');
//irá imprimir: 50,00

echo number_format(100, 2, ',',  '.');
//irá imprimir: 100,00

echo number_format(1000, 2, ',',  '.');
//irá imprimir: 1.000,00

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim mas to tendo problemas para por no meu código como coloco.

porque o meu tem um código dizendo que é para ter 9 zeros na frente do número, esses zeros só some quando completa de número, ai quero do uma virgula depois do primeiro zero para ele ficar assim 1.00000000

Compartilhar este post


Link para o post
Compartilhar em outros sites

sprintf resolve isso fácil com um pouquinho de matemática. basta dividir o número por 10 elevado a 8

 

 

php > $valor = 1021;
php > var_dump( sprintf( "%09d", $valor ) );
string(9) "000001021"
php > var_dump( sprintf( "%.8f", $valor / pow( 10, 8 ) ) );
string(10) "0.00001021"

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.