php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Thema geschlossen
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 29-12-2010, 13:13
Rudi-Ratloss
 Registrierter Benutzer
Links : Onlinestatus : Rudi-Ratloss ist offline
Registriert seit: Jun 2008
Beiträge: 24
Rudi-Ratloss ist zur Zeit noch ein unbeschriebenes Blatt
Standard Rechenergenisse falsch bzw. ungenau

Rechenergebnisse ungenau bzw. weichen stark ab. Dies hat nichts mit den Nachkommastellen zu tun. Nur die Ergebnisse von

$ergebnis3
$ergebnis4
$ergebnis5

weichen stark ab bzw. sind falsch

Kann mir jemand sagen woran der Fehler liegt?

PHP-Code:
<?php
if (!empty($_POST["submit"]))
{
  
$_zahl1 $_POST["zahl1"];
  
$_zahl2 $_POST["zahl2"];
  
$_zahl3 $_POST["zahl3"];  
  

    {
        
$ergebnis pow($_zahl1,2)*(acos(1-$_zahl2/$_zahl1))-sqrt(2*$_zahl1*$_zahl2-pow($_zahl2,2))*($_zahl1-$_zahl2);
        
$ergebnis number_format ($ergebnis,2","".");
     echo 
$ergebnis." &nbsp  cm² ist die Fläche des Kreisabschnitts &nbsp &nbsp $i &nbsp &nbsp  <br />";
     
        
$ergebnis2 $ergebnis*$_zahl3;
        
$ergebnis2 number_format ($ergebnis2,2","".");
     echo 
$ergebnis2." &nbsp  Liter pro Sekunde &nbsp &nbsp $i &nbsp &nbsp  <br />";

        
$ergebnis3 $ergebnis2*60;
        
$ergebnis3 number_format ($ergebnis3,2","".");
     echo 
$ergebnis3." &nbsp  Liter pro Minute &nbsp &nbsp $i &nbsp &nbsp  <br />";

        
$ergebnis4 $ergebnis2*3600;
        
$ergebnis4 number_format ($ergebnis4,2","".");
     echo 
$ergebnis4." &nbsp  Liter pro Stunde &nbsp &nbsp $i &nbsp &nbsp  <br />";

        
$ergebnis5 $ergebnis2*3600*24;
        
$ergebnis5 number_format ($ergebnis5,2","".");
     echo 
$ergebnis5." &nbsp  Liter pro Tag &nbsp &nbsp $i &nbsp &nbsp  <br />";
      
    }
  }

?>
  #2 (permalink)  
Alt 29-12-2010, 13:24
medium22
 Registrierter Benutzer
Links : Onlinestatus : medium22 ist offline
Registriert seit: Mar 2006
Beiträge: 308
medium22 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

PHP: number_format - Manual
PHP: pow - Manual

In meinen Augen beides falsch angewendet....
  #3 (permalink)  
Alt 29-12-2010, 13:31
Rudi-Ratloss
 Registrierter Benutzer
Links : Onlinestatus : Rudi-Ratloss ist offline
Registriert seit: Jun 2008
Beiträge: 24
Rudi-Ratloss ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Mir geht es jetzt nur um die Rechenergebnisse, nicht um die übersichtlichere Schreibweise.


Zitat:
Zitat von medium22 Beitrag anzeigen
PHP: number_format - Manual
PHP: pow - Manual

In meinen Augen beides falsch angewendet....
  #4 (permalink)  
Alt 29-12-2010, 13:35
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Rudi-Ratloss Beitrag anzeigen
Dies hat nichts mit den Nachkommastellen zu tun.
Um genau zu sein doch.

Natürlich bekommst du nicht das Ergebnis, dass du willst. Das hat auch einen einfachen Grund: Du formatierst deine Ausgabe so um, dass PHP dein Tausendertrennzeichen als Dezimaltrennzeichen verwendet. Wenn du weiter mit den Werten rechnen willst, solltest du eine unformatierte Variante verwenden.

Darüberhinaus: Du solltest bei jeder Benutzung von pow und dynamischen (vermutlich sogar noch Benutzerdefinierten) Werten prüfen, ob eine Berechnung überhaupt durchgeführt wurde!
  #5 (permalink)  
Alt 29-12-2010, 13:58
Rudi-Ratloss
 Registrierter Benutzer
Links : Onlinestatus : Rudi-Ratloss ist offline
Registriert seit: Jun 2008
Beiträge: 24
Rudi-Ratloss ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das hat heirmit zu tun, wie muss ich das verändern?

PHP-Code:
$ergebnis number_format ($ergebnis,2",""."); 

Zitat:
Zitat von unset Beitrag anzeigen
Um genau zu sein doch.

Natürlich bekommst du nicht das Ergebnis, dass du willst. Das hat auch einen einfachen Grund: Du formatierst deine Ausgabe so um, dass PHP dein Tausendertrennzeichen als Dezimaltrennzeichen verwendet. Wenn du weiter mit den Werten rechnen willst, solltest du eine unformatierte Variante verwenden.

Darüberhinaus: Du solltest bei jeder Benutzung von pow und dynamischen (vermutlich sogar noch Benutzerdefinierten) Werten prüfen, ob eine Berechnung überhaupt durchgeführt wurde!
  #6 (permalink)  
Alt 29-12-2010, 15:12
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Am besten schreibst du die Ausgabe in eine andere Variable, wenn du weiter mit dem Wert rechnen willst. Wie das geht, solltest du ja wissen!
  #7 (permalink)  
Alt 29-12-2010, 16:19
Rudi-Ratloss
 Registrierter Benutzer
Links : Onlinestatus : Rudi-Ratloss ist offline
Registriert seit: Jun 2008
Beiträge: 24
Rudi-Ratloss ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Weis ich leider nicht, brauche dazu hilfe

Zitat:
Zitat von unset Beitrag anzeigen
Am besten schreibst du die Ausgabe in eine andere Variable, wenn du weiter mit dem Wert rechnen willst. Wie das geht, solltest du ja wissen!
  #8 (permalink)  
Alt 29-12-2010, 17:15
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Du weißt wie man Variablen Werte zuweist. Mach das doch einfach, wo ist das Problem?!
  #9 (permalink)  
Alt 29-12-2010, 18:50
Rudi-Ratloss
 Registrierter Benutzer
Links : Onlinestatus : Rudi-Ratloss ist offline
Registriert seit: Jun 2008
Beiträge: 24
Rudi-Ratloss ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für deine Hilfe weis aber nicht was du meisnt.
Kannst du den PHP Code mal hier Posten damit ich das endlich kapiere

Zitat:
Zitat von unset Beitrag anzeigen
Du weißt wie man Variablen Werte zuweist. Mach das doch einfach, wo ist das Problem?!
  #10 (permalink)  
Alt 29-12-2010, 19:07
boeserfrosch
 Registrierter Benutzer
Links : Onlinestatus : boeserfrosch ist offline
Registriert seit: Nov 2009
Beiträge: 93
boeserfrosch befindet sich auf einem aufstrebenden Ast
Standard

Er meint damit nix anderes als:

PHP-Code:
$var_fuer_spaetere_berechnung $ergebnis
und danach erst:

PHP-Code:
$ergebnis number_format ($ergebnis,2",""."); 
  #11 (permalink)  
Alt 29-12-2010, 19:58
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.576
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Warum nicht number_format() erst bei der Ausgabe ausführen? IMHO hat das bei der Verarbeitung nichts zu suchen, sondern gehört zur Ausgabe.
  #12 (permalink)  
Alt 29-12-2010, 20:24
Rudi-Ratloss
 Registrierter Benutzer
Links : Onlinestatus : Rudi-Ratloss ist offline
Registriert seit: Jun 2008
Beiträge: 24
Rudi-Ratloss ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich versuch noch ein mal dann geb ich es auf
Wer kann mir unten stehende PHP Gode rcihtig schreiben das er funktioniert

PHP-Code:
<?php
if (!empty($_POST["submit"]))
{
  
$r $_POST["r"];
  
$h $_POST["h"];

    {

         
$ergebnis r*h;
         
$ergebnis number_format ($ergebnis,2","".");
    echo 
$ergebnis." &nbsp  cm² ist die Fläche des Kreisabschnitts &nbsp &nbsp $i &nbsp &nbsp  <br />";

    }
  }

?>

Zitat:
Zitat von h3ll Beitrag anzeigen
Warum nicht number_format() erst bei der Ausgabe ausführen? IMHO hat das bei der Verarbeitung nichts zu suchen, sondern gehört zur Ausgabe.
  #13 (permalink)  
Alt 30-12-2010, 00:07
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

In wievielen Threads willst du noch um Code betteln? Was versprichst du dir davon? Vom Kopieren lernst du es nicht. Ratschläge beherzigst du nicht. *close*
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Thema geschlossen

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Was ist falsch? Omegacentauri PHP Developer Forum 17 08-07-2006 15:23
SELECT-Abfrage ungenau in-power SQL / Datenbanken 8 05-12-2005 21:52
was is falsch?? martinxa HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 5 27-02-2004 20:05
Was ist falsch? cRaZe SQL / Datenbanken 6 05-09-2003 15:52
Was ist falsch?? :-( CoreX SQL / Datenbanken 5 06-07-2003 18:53

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:15 Uhr.