is_numeric? Werte subtrahieren komischer wert?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • is_numeric? Werte subtrahieren komischer wert?

    Hallo hab eine kleines Problem,

    ich hab zwar Werte:

    // Beide Werte kommen aus mehreren Teilberechnung aus Datenbanken
    // und prozentualen Wertberechnungen teils...
    $wert_a = 26.98;
    $wert_b = 26.98;

    Wenn ich folgenden Code abfrage entsteht folgende Ausgabe was irgendwie
    unlogisch ist:

    1. er dürfte ja gar nicht die Abfrage rein laufen da beide Werte gleich groß sind.
    2. 26.98-26.98 = 0

    er bekommt allerdings folgendes Ergebniss: -7.1054273576E-15

    Wenn ich beide Werte mit is_numeric / is_float prüfe bekomme ich bei beiden TRUE.

    Wenn ich die Werte allerdings vorher mit number_format($wert_a,2,'.','');
    formatiere macht er alles richtig. Also muss es ja an der Formatierung der
    Werte liegen. Da ich das Problem zwar gelößt hab aber gerne die Ursache
    hierfür kennen würde, frag ich Euch wie kann ich noch prüfen ob der Wert
    evtl. nicht richtig formatiert ist außer mit is_numeric / is_float da diese ja
    beide behaupten ja passt. (Dann würden aber doch eigentlich keine so Werte
    raus kommen oder?)

    PHP-Code:
    if($wert_a != $wert_b)
     {
     
    $rundungsdiff $wert_a-$wert_b;

     echo 
    'Rundungsdiff: '.$rundungsdiff.'<br />';
     } 
    Grüße
    Tom

  • #2
    Du könntest dich informieren, was ein Float überhaupt ist und dir bei der Gelegenheit auch die große, rote Hinweisbox im Handbuch anschauen:

    PHP: Fliekommazahlen - Manual

    Kommentar


    • #3
      er bekommt allerdings folgendes Ergebniss: -7.1054273576E-15
      -7 mal 10 hoch 15 ist 0(Null), zumindest so gut wie Null.
      Kaum von Null zu unterscheiden.
      Wir werden alle sterben

      Kommentar


      • #4
        wieder was gelernt...danke Euch.

        Kommentar

        Lädt...
        X