is_numeric? Werte subtrahieren komischer wert?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


    • #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

      Comment


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

        Comment

        Working...
        X