Afronden

Status
Niet open voor verdere reacties.

wilmervdb

Gebruiker
Lid geworden
8 apr 2011
Berichten
91
Beste mensen...
Ik heb de opdracht gekregen voor school om een rekenmachine te maken. Nu ben ik al een heel eind op weg (optellen, aftrekken, wortelen enz. kan hij al). Echter, nu komt het volgende punt:

* Laat degene zelf KIEZEN op HOEVEEL decimalen wil afronden.

Het probleem is niet de functie, dit is namelijk:

<?php
round($getal, 1);
?>

en dan het getal na $getal omhoog halen naar 5 of iets dergelijks.
Ik kan alleen niet er een opties van maken (met bijvoorbeeld option value). Iemand een tip of een voorbeeld?

Alvast bedankt
 
Beste mensen...
Ik heb de opdracht gekregen voor school om een rekenmachine te maken. Nu ben ik al een heel eind op weg (optellen, aftrekken, wortelen enz. kan hij al). Echter, nu komt het volgende punt:

* Laat degene zelf KIEZEN op HOEVEEL decimalen wil afronden.

Het probleem is niet de functie, dit is namelijk:

<?php
round($getal, 1);
?>

en dan het getal na $getal omhoog halen naar 5 of iets dergelijks.
Ik kan alleen niet er een opties van maken (met bijvoorbeeld option value). Iemand een tip of een voorbeeld?

Alvast bedankt

Ik neem aan dat je $getal als variabelen ophaalt uit een POST.
Dus bijvoorbeeld

Code:
$getal = $_POST["getal"];

Je kan dan hetzelfde doen voor het aantal waarop moet worden afgerond.
Maak een keuzelijstje of gewoon een invoerveld welke je vervolgens ook weer ophaalt via een soort gelijke regel als hierboven. Bijvoorbeeld

Code:
$afronding = $_POST["afronding"];

De round functie ziet er dan als volgt uit.

Code:
<?php
round($getal, $afronding);
?>

Om het helemaal netjes te maken kun je eerst kijken of $_POST["afronding"] leeg is. Als dit het geval is dan moet $afronding 2 zijn.

Je krijgt dan zoiets

Code:
<?php
if(empty($_POST["afronding"])){
      $afronding = "2";
}
else(!empty($_POST["afronding"])){
      $afronding = $_POST["afronding"];
}
round($getal, $afronding);
?>

Let wel op dat ik dit uit de losse pols typ en ik dit dus niet heb getest. Hopelijk heb ik je zo even op weg geholpen.
 
Laatst bewerkt:
Het probleem is alleen, hoe krijg ik dat in een mooi kies menu'tje... Zeg maar dat je er een mooi menu van krijgt op hoeveel decimalen je hem wilt afronden...

zeg maar...
<select name="afronden">
<option value="?????">1 decimaal</option>
<option value="?????">2 decimaal</option>
<option value="?????">3 decimaal</option>
<option value="?????">4 decimaal</option>
</select>

zo ong. moet het eruit zien... maar wat moet je dan bij de vraagtekens invullen om te krijgen wat ik wil (als hij 1 decimaal selecteerd komt het antwoord eruit op 1 decimaal.)

Iemand?
 
Afronden op:<select name="Afronden">

<option <?php $berekening = round($berekening, 0); ?> value=Decimalen>0</option>
<option <?php $berekening = round($berekening, 1); ?> value=Decimalen>1</option>
<option <?php $berekening = round($berekening, 2); ?> value=Decimalen>2</option>
<option <?php $berekening = round($berekening, 3); ?> value=Decimalen>3</option>
<option <?php $berekening = round($berekening, 4); ?> value=Decimalen>4</option>
<option <?php $berekening = round($berekening, 5); ?> value=Decimalen>5</option>

</select>
Decima(a)l(en)

Dit scriptje lijkt te werken bij 0 decimalen, maar bij 1 decimaal en de rest geeft hij GEEN decimalen weer...

Wat is hiervan de oplossing?
 
Deze code heb ik getest en werkt.

Code:
<html>
<head>
	<title>
		Rekenmachine
	</title>
</head>
<body>
	<form name="rekenmachine" method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
	<input type="text" name="getal">
	<select name="afronden">
		<option value="0">Niet afronden</option>
		<option value="1">1 decimaal</option>
		<option value="2">2 decimalen</option>
		<option value="3">3 decimalen</option>
		<option value="4">4 decimalen</option>
		<option value="5">5 decimalen</option>
	</select>
	<input type="submit" name="submit" value="Rond af">
	</form>
<?php
	if (isset($_POST["submit"])){
		$getal = $_POST["getal"];
		$afronden = $_POST["afronden"];

		$getal = round($getal,$afronden);
		echo $getal;
		}
	else{
		}
?>
</body>
</html>
 
Hee....

Ik weet niet waar het aan ligt maar mijn script ziet er zo uit:

getal 1 = (zelf in vullen) (kiezen wat je wilt x - + % ^ enz) getal 2 = (zelf invullen)
button bereken en dan komt daaronder het antwoord te staan...

Nu wil ik graag dat naast getal 2 komt te staan op hoeveel decimalen die som moet worden afgerond (zeg maar 5 % 69 2 decimalen bereken en dan geeft hij het antwoord) snap je... en jij hebt er een extra tekstvak bij gemaakt...

Alvast bedankt iig voor het op weg helpen maar ik kom niet verder als je me niet kan helpen met het bovenstaande probleem...

Gr.
Wilmer
 
Hij moet zegmaar de berekening afronden zonder een tussenstap... Je moet eerst getal 1 invoeren, daarna kiezen welke methode je wilt (+ - x % enz.) daarna getal 2 invullen, daarna invullen op hoeveel decimalen nauwkeurig je hem wilt hebben en vervolgens op het knopje berekenen klikken zodat het antwoord er uit komt.

Ik heb alles al op volgorde maar nu moet ik nog het voor me kaar krijgen om het afronden op een paar decimaal nauwkeurig te berekenen zoals hierboven staat...

Dit is het laatste stukje van mn script, hier moet hij tussen:

Code:
<html>
<head>
<title>Rekenmachine</title>
</head>
<body>

<h3>Rekenmachine</h3>

	<form name="rekenmachine" method="post">

Getal 1: <input type="text" name="getal1" value="<?php bestaat("getal1"); ?>">
&nbsp
		
	
Bewerking: 
<select name="bewerkingen">
	<?php 
	foreach($bewerkingen as $k => $v) 
	echo '<option value="' . $k . '" ' . bestaat2("bewerkingen", $k) . '>' . $v . '</option>';
	?>
</select>
	
Getal 2: <input type="text" name="getal2" value="<?php bestaat("getal2"); ?>">
&nbsp

<input type="submit" name="Submit" value="Bereken" />
</form>

===========================================	<br/>
Antwoord:
<?php echo $berekening ?> 					<br/>
===========================================	
</body>
</html>

De berekeningen heb ik apart staan...
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan