Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

sLUGo

Duvida sobre como cortar casas decimais...

Mensagens Recomendadas

sLUGo    0
sLUGo

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!  :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
QuickFire    0
QuickFire

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
sLUGo    0
sLUGo

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!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Rui Carlos    309
Rui Carlos

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)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
sLUGo    0
sLUGo

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!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Saco    0
Saco

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);

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
sLUGo    0
sLUGo

	<?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

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


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade