SELFPHP: Version 5.8.1 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Deine Leidenschaft ist die Unterwasserfoto-grafie?


Dann ist Qozido genau das Richtige für Dich!

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler ist da!

www.qozido.de

 


Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 13.10.2005, 17:06:57
Florian42 Florian42 ist offline
Anfänger
 
Registriert seit: Oct 2005
Beiträge: 1
Florian42 befindet sich auf einem aufstrebenden Ast
Adam Riese und PHP - falsche Ergebnisse in Rechnungen

Ich habe folgendes PHP Script entwickelt um nach einem bestimmten Rechenverfahren eine Punktzahl für eine Liga auszurechnen. Es gibt insgesamt 4, genau genommen 5 Faktoren, aus denen sich die Punkte ergeben. Leider erhalte ich in den Multiplikationen falsche Ergebnisse auch wenn ich Dezimalzahlen runde.
Vl. ersteinmal mein Script: http://www.solarthemen.de/sobuli/larsform.php

Und hier der wesentliche Teil des Scriptes:
PHP-Code:
$A=$HTTP_POST_VARS["A"]; //Fläche Solarthermie: x qm
$B=$HTTP_POST_VARS["B"]; //Fläche unverglaste Absorber: x qm
$C=$HTTP_POST_VARS["C"]; //Photovoltaik-Leistung in Watt: x kWatt
$Cg=$HTTP_POST_VARS["Cg"]; //Photovoltaik-Leistung in Watt: x kWatt
$D=$HTTP_POST_VARS["D"]; //Einwohner: x

round($A,3);
round($B,3);
round($C,4);
round($Cg,4);

echo 
"A: $A <br>";
echo 
"B: $B <br>";
echo 
"D: $D <br>";

$C=$C*1000;
$Cg=round($Cg*1000,15);
echo 
"C: $C <br>";
echo 
"Cg: $Cg <br>";
//if($D=="" or $C=="" or $Cg=="" or $B=="" or $A=="" or $D=="0" and $C=="0" and $B=="0" and $A=="0"){
//echo "Bitte geben Sie Ihre Daten ein!";}
//else{
if($Cg>$C){
echo 
"Bitte geben Sie eine Photovoltaik-Leistung ein die größer oder gleich der der Leistung der Großanlage(n) ist";}
else{
if(
$D=="0" or $D==""){
echo 
"Bitte geben Sie eine Einwohnerzahl ein!";}
else{
if(
strstr($A,".") or strstr($B,".") or strstr($D,".")){
echo 
"Bitte geben Sie die Zahlen ohne \"Tausenderpunkte\" ein! Für Nachkommastellen nutzen Sie bitte Kommas.";}
else{
//1 Rechnung
$Z=round((0.7*$B),10);
$S=round(($A+$Z),10);
$K=round($S/$D,5);
echo 
"Z: $Z <br>";
echo 
"S: $S <br>";
echo 
"K: $K <br>";
$X=$K/0.01//einen Punkt gibt es für  0.01qm/Einw.
echo"X: $X <br>";

//2 Rechnung
//PV Großanlagen
$Lg=round($Cg/$D,5);
$Yg=round($Lg/3,5);
$PktG=round(pow((sqrt($Yg)),2)*0.5,5);
echo
"Yg: $Yg <br>";

if(
$PktG>40.1)
{
$L=round(($C-$Cg)/$D,2);
$Y=round($L/3,2);
echo 
"Y: $Y <br>";
echo 
"L: $L <br>";

//3 Rechnung
$Punktzahl=round(pow((sqrt($X)+sqrt($Y)),2)*0.5,5);
$Punktzahl=$Punktzahl+40.1;}

else
{
$L=round($C/$D,2);
echo
"L: $L <br>";
$Y=round($L/3,2);
echo
"Y: $Y <br>";
//3 Rechnung
$Punktzahl=round(pow((sqrt($X)+sqrt($Y)),2)*0.5,5);}

echo 
"Ihre Kommune kommt auf <font size=\"5\" face=\"Arial\"><br><b>";
echo 
round($Punktzahl); 
Die ganzen rounds sind eingebaut um eventuell unendliche Brüche auszuschließen.

Ich kommentiere jetzt mal nicht jeden Schritt. Eventuell wird das Prob. ja so schon deutlich. Wenn ihr oben in der Maske 0,9 | 0,9 | 2 | 0,9 | 100 | als Werte eingebt, erhaltet ihr 3 Pkt. als Ergebnis, erhöht ihr die 0,9 Werte um 0,1 auf 1 erhaltet ihr 8 Pkt. -> FEHLER

ein falsches Ergebnis ergibt sich auf jeden Fall bei
PHP-Code:
$Cg=round($Cg*1000,15); 
und
PHP-Code:
$Z=round((0.7*$B),10);
$S=round(($A+$Z),10);
$K=round($S/$D,5);
echo 
"Z: $Z <br>";
echo 
"S: $S <br>";
echo 
"K: $K <br>";
$X=$K/0.01//einen Punkt gibt es für  0.01qm/Einw.
echo"X: $X <br>"


Vielleicht kennt ihr ja das Problem und könnt mir, am besten unkompliziert und einfach, helfen. Schonmal vielen Dank! Falls noch Fragen sind, ich gucke auf jeden Fall regelmässig rein.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wie man durch PHP von der Schule fliegen kann?! Jacki Off Topic Area 2 06.08.2004 13:20:39


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:51:25 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.


© 2001-2014 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt