Thread Verfasser: rotz
Thread ID: 1710
Thread Info
Es gibt 7 Beiträge zu diesem Thema, und es wurde 775 Mal angesehen.
 Thema drucken
Prozente
rotz
Hallo.....ich habe da mal eine frage..es ist ja möglich in PHP mit prozenten zu rechnen ich habe ein kleines Bsb. wie ich vorgegangen bin.


Code

$variable_a = 10000;
$Variable_b = 100;
$Variable_c = 150;


Das sind die Vorgaben..das sind aber nur Beispiele.

Und in der Ausgabe mach ich es so:

Code
echo " ".$c*$b/$a."";


Aber es erscheinen mehr Ausgaben im ,,echo,, als erscheinen soll. oder Rechne ich falsch? kann man das mit trimelink einkürzen.
 
John Doe
Was willst du denn genau rechnen. Dein Beispiel erscheint keinen Sinn zu ergeben.
 
Systemweb
Du solltest die Rechenaufgabe noch in Klammern setzen
Code
 echo " ".($c*$b/$a);
 
rotz
Habe es so im Moment:

Code

$wert1 = ''.$data['a'].'';
$wert2 = ''.$data['b'].'';
$wert3 = 100;


und in der Ausgabe so:

Code
".round($wert1/$wert2*$wert3 ,2)."


Aber der prozentuelle wert wird mit 0, 10 als BSp. angezeicgt. Ich würde es aber gerne so anzeigen lassen das es 1,0 anzeigen tut. Bei der Ausgabe habe ich es ja schon auf 2 gekürzt.
 
MaZzIMo24
Auch wenn das Thema alt ist ^^
$gesamt = 1234;          // Gesamtsumme

$anteil1 = 15;           // Wert in X(%)
$anteil2 = 200;          // Wert in X(zahl)

$HUNDERT_PROZENT = 100;

$berechne_einen_prozent = ($gesamt/$HUNDERT_PROZENT);

echo " ".$anteil1."% von ".$gesamt." ist ".round($gesamt/$HUNDERT_PROZENT*$anteil1 ,2)." <br />";

echo " ".$anteil2." von ".$gesamt." sind ".round($anteil2/$berechne_einen_prozent ,2)."% <br />";

/* Ausgabe des oben geschriebenen Code ***
 15% von 1234 ist 185.1
 200 von 1234 sind 16.21%
***                                     */

Projects: MZ.CMS | MZ.Fusion | Bot.API
Programmierkenntnisse: PHP, Html(5), CSS / SCSS, jQuery, Javascript, Sql, RegExp
 
Systemweb
@MaZzIMo24:
Ich vermute mal, dass dein Code zur Veranschaulichung so detailliert ist. Wink
Da 100Prozent immer 100 sind, kann man ja gleich fest die Zahl 100 verwenden und sich die Zuweisung als Variable in der Zeile
$HUNDERT_PROZENT = 100;
einfach sparen.
Die Zeile
$berechne_einen_prozent = ($gesamt/$HUNDERT_PROZENT);
ist auch überflüssig, hilft aber denjenigen die bei Prozentrechnung nicht so sattelfest sind und lieber Step-by-Step rechnen.
Folgender Code erfüllt die gleiche Aufgabe und spart in diesem kurzen Code-Snippet bereits 101 Zeichen, 2 Variablen-Zuweisungen und 1 extra Rechenaufgabe (Berechnung des Wertes für 1%):
$gesamt = 1234;          // Gesamtsumme

$anteil1 = 15;           // Wert in X(%)
$anteil2 = 200;          // Wert in X(zahl)

echo $anteil1."% von ".$gesamt." ist ".round(($gesamt/100*$anteil1), 2)." <br />";

echo $anteil2." von ".$gesamt." sind ".round((100/$gesamt*$anteil2), 2)."% <br />";

/* Ausgabe des oben geschriebenen Code ***
15% von 1234 ist 185.1
200 von 1234 sind 16.21%
***                                     */
Allerdings habe ich die Kettenrechnungen zusätzlich separat eingeklammert -> siehe HIER

@rotz:
Du weist mit deiner Schreibweise
$wert1 = ''.$data['a'].'';
der Variable $wert1 den Wert a aus dem Array $data zu, wobei du einen Wert vom Typ "Integer" (=numerisch) erwartest, denn du willst in Folge damit etwas berechnen. Es ist überflüssig, der Variable zu sagen, dass sich davor und dahinter kein String befindet. Einen String wollen wir eh nicht, da man mit Zahlen rechnet aber nicht mit Zeichenkombinationen ("Apfel" + "Eimer" = ?)
$wert1 = $data['a'];
wäre also vollkommen richtig, die Hochkommata und Punkte davor und dahinter sind überflüssig.

Wenn dir die 2 Nachkommastellen zu viel sind, dann ändere einfach auf round($dezimalzahl, 1) für eine Rundung auf max. 1 Stelle nach dem Komma oder ganz ohne Komma als Ganzzahl round($dezimalzahl, 0)
 
MaZzIMo24
Ja war zur Veranschaulichung, die Art des Codes war auch eher um zu zeigen was wie & wo passiert,
deswegen habe ich da nicht auf komprimierte Schreibweise geachtet.

LG
Projects: MZ.CMS | MZ.Fusion | Bot.API
Programmierkenntnisse: PHP, Html(5), CSS / SCSS, jQuery, Javascript, Sql, RegExp
 
Springe ins Forum: