15. marts 2007 - 22:18
Der er
15 kommentarer
PHP lommeregner X^Y
Hej alle sammen, Jeg er ved at lave en PHP lommeregner med en del funktioner på, og jeg kunne godt tænke mig at have Tier Potenser med. Men jeg synes det er lidt klodset at skrive alle sammen, og har lige smidt den der hvordan man uddeler en text ud af hovedet!... Men det som jeg gerne vil have hjælp til er: At hvis personen fx. skriver: 3^10 så skal den regne det ud Det samme gælder self. for 6^2 osv. Nogle der kan hjælpe med det?
Annonceindlæg fra Infor
15. marts 2007 - 22:26
#1
15. marts 2007 - 22:29
#2
fx
<?
$x=3;
$y=4;
$result=pow($x,$y);
echo $result;
?>
www.php.net/pow
15. marts 2007 - 22:30
#3
ahh, dvælen på eksperten, så er der andre der snupper den :P
15. marts 2007 - 22:43
#4
Men hvad nu hvis jeg har min regneform i 1 input?
15. marts 2007 - 22:52
#5
$input = "44^55"; $ops = explode("^", $input); $result = pow($ops[0], $ops[1]);
15. marts 2007 - 23:14
#6
Nice, det virker..... :) Har du andre ting man lige kan bruge til en? Måske så man kan regne både med eval(),sqrt(),pow() og måske andre på samme tid?
15. marts 2007 - 23:31
#7
ja, du kan jo søge efter forskellige tegn if(strpos($input,'*')) { $ops=explode('*',$input); $result=$ops[0]* $ops[1]; } elseif(strpos($input,'^')) { $ops = explode("^", $input); $result = pow($ops[0], $ops[1]); } echo $result og så videre og så videre :)
15. marts 2007 - 23:33
#8
note: man regner ikke med eval.. eval fortolker teksten som php kode, vær meget varsom med det
15. marts 2007 - 23:39
#9
Så skal man bare indsætte alle sammen ind i den der oppe^ Men hvordan kan man så få den til at ligge flere ting sammen? fx. dette regnestykke: 5+5-6*4/7888^6
15. marts 2007 - 23:40
#10
tror jeg selv har løst, 2 sek prøver lige
15. marts 2007 - 23:45
#11
<? if($_POST[udregn] != ""){ $result = "0"; if(strpos($_POST[udregn],'*')) { $ops=explode('*',$_POST[udregn]); $result=$result+$ops[0]* $ops[1]; } if(strpos($_POST[udregn],'^')) { $ops = explode("^", $_POST[udregn]); $result=$result+pow($ops[0], $ops[1]); } if(strpos($_POST[udregn],'+')) { $ops = explode("+", $_POST[udregn]); $result=$result+$ops[0]+ $ops[1]; } echo $result; } ?>
15. marts 2007 - 23:46
#12
Jeg lader den lige stå åben til imorgen, og hvis jeg får nogle problemer, så skriver jeg lige... uddeler points imorgen til jer begge to ;)
15. marts 2007 - 23:49
#13
if($_POST[udregn] != ""){ $result = "0"; if(strpos($_POST[udregn],'*')) { $ops=explode('*',$_POST[udregn]); $result=$result+$ops[0]* $ops[1]; } if(strpos($_POST[udregn],'^')) { $ops = explode("^", $_POST[udregn]); $result=$result+pow($ops[0], $ops[1]); } if(strpos($_POST[udregn],'+')) { $ops = explode("+", $_POST[udregn]); $result=$result+$ops[0]+ $ops[1]; } if(strpos($_POST[udregn],'-')) { $ops = explode("-", $_POST[udregn]); $result=$result+$ops[0]- $ops[1]; } echo $result; } ?> Den siger at 5-3 = 2 RIGTIGT og at 5+5-7 = 8 FORKERT...
15. marts 2007 - 23:57
#14
hm...den tager kun det første... jeg vil smutte nu, kigger på det igen imorgen Cya...
16. marts 2007 - 15:30
#15
Hej, Har nogle af jer fundet en løsning... indtil videre prøver jeg videre
Vi tilbyder markedets bedste kurser inden for webudvikling