webForumDet fria alternativet

Beräkning i funktion

3 svar · 525 visningar · startad av Jörgen HP

Jörgen HPMedlem sedan feb. 20012 412 inlägg
#1

Hej!

Jag har sett på flera ställen att det ofta efterfrågas omvandling från byte till större enheter. Därför satte jag mig ner för att fixa en funktion till detta. Problemet är att den inte vill räkna rätt. Skriver jag ut kontrollvariabler verkar allt stämma, men resultatet blir fel. :(

Ser någon felet?

<?php

// $convertTo ger siffran nedan beroende på vilken omvandling man vill göra
// byte -> kilobyte = 1
// byte -> Megabyte = 2
// byte -> Gigabyte = 3
// byte -> Terabyte = 4
// $b är storleken i byte

$convertTo = 2;
$b = 1000;

	function myExp( $convertTo, $b  ) {	
                
      $expression = "";	
		
		for ( $i = 0; $i < $convertTo; $i++ ) {
			$expression .= "1024*";
		}

		$math = substr( $expression,0,strlen( $expression ) - 1 );

		$b = ( $b / ( $math ) );
	
		return $b;
	}

	print ( myExp( $convertTo, $b ) );

?>
LarsGMedlem sedan dec. 200012 464 inlägg
#2

Orkar inte titta igenom koden. Varför inte använda

pow

Jörgen HPMedlem sedan feb. 20012 412 inlägg
#3

LarsG skrev:

Orkar inte titta igenom koden. Varför inte använda

pow

Ahh, letade som fanken efter en funktion för potenser/exponenter, tack LarsG. :)

Jörgen HPMedlem sedan feb. 20012 412 inlägg
#4

Så här blev den till slut, lägger den i script-arkivet. :)

Tack för din hint LarsG. ;)

<?php

// $convertTo ger siffran nedan beroende på vilken omvandling man vill göra
// byte -> kilobyte = 1
// byte -> Megabyte = 2
// byte -> Gigabyte = 3
// byte -> Terabyte = 4

   $convertTo = 1;

// $dec anger antalet decimaler
   $dec = 5;

// $b är storleken i byte
   $b = 1000;

	function convert( $convertTo, $b, $dec  ) {		
		
		$expression = pow( 1024, $convertTo );		
		
		$b = number_format( $b / ( $expression ), $dec);
				
		return $b;
	}

	print ( convert( $convertTo, $b, $dec ) );

?>
124 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)