Jump to content

Duvida sobre como cortar casas decimais...


Recommended Posts

Posted

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!  🙂

Posted

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 😄

Posted

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!

Posted

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!

Posted

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.