• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

sLUGo

Duvida sobre como cortar casas decimais...

8 mensagens neste tópico

Boas...

Iniciei-me na linguagem PHP há coisa de dois dias... E tenho como projecto pessoal fazer um sysinfo (a partir do ZERO, programando no nano via SSH) para o meu servidor de web caseiro...

Agora deparo-me com um problema...

Memória RAM:

[363 MB Usados/ 1011 MB Totais] -=- [64.0949554896 % Livre]

Aqui a % de RAM livre aparecem-me demasiadas casas decimais... Gostava de saber como contornar este problema!

Código:

<?php

$ram_livre=$ram_usada/$ram_total;

echo("[". $ram_usada. "MB Usados/ ". $ram_total. "MB Totais]"); echo (" -=- ". "[". (100-$ram_livre*100). " % Livre]");

?>

Cumprimentos!  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

podes usar a função round(); :)

o código ficaria algo do género:

<?php
      $ram_livre=round($ram_usada/$ram_tota)l;
      echo("[". $ram_usada. "MB Usados/ ". $ram_total. "MB Totais]"); echo (" -=- ". "[". (100-$ram_livre*100). " % Livre]");
      ?>

Ele assim passaria a arredondar às unidades :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas e obrigado pela resposta (ainda que não correcta)... :)

Ao adicionar o round, ele arredonda-me (por exemplo) de 63 % para 100 % ...

Obrigado na mesma... Aguardo mais ajuda!

Cumprimentos!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

se passares o valor para uma string, não podes depois seleccionar apenas os primeiros n caracteres?

(é claro que assim apenas estavas a truncar e não a arredondar)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Problema resolvido...

Tive a "estudar" o round e vi como funcionava...

Declarei uma variável $percentagem com a equação que fiz para chegar à percentagem de RAM livre... Depois foi só adicionar no echo

round($percentagem,2)

E ele arredondou o valor da percentagem para duas casas decimais! :)

Obrigado pela ajuda e parabéns pela rapidez das respostas!

Cumprimentos!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o round() arredonda às unidades, certo?

então como o teu $ram_livre era qualquer coisa como 0.923557... ele ia arredondar para 1, logo tinhas um resultado final de 100%

uma maneira mais fácil era fazeres

$ram_livre=$ram_usada/$ram_total;
$ram_livre=round($ram_livre*100);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

	<?php
	$ram_livre=($ram_usada/$ram_total);
	$percentagem= (100-$ram_livre*100);
	echo ("[". $ram_usada. "MB Usados/ ". $ram_total. "MB Totais] -=- ". "[". round($percentagem,2). " % Livre]");
	?>

O código (uma parte dele) está assim, e funciona como pretendo... :)

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora