Joachim: Brett vorm Kopf. Finde den Fehler nicht.

Beitrag lesen

Hi Martin,

naja, ist ja auch fast korrekt.
Ich tippe mal auf einen Klassiker: Rundungsfehler bei der Addition von float-Werten.

Hätte ich auch vermutet. Aber lass mal diesen Code laufen:

$a = 42.02;
$b = 146.18;
$c = 188.20;

if($a + $b > $c) {
    echo("a+b ist größer als c
    <br>a: ".$a."
    <br>b: ".$b."
    <br>c: ".$c);
} else {
  echo "<br>equal";
}

$a = settype($a, 'float');
$b = settype($b, 'float');
$c = settype($c,'float');

if($a + $b > $c) {
    echo("a+b ist größer als c
    <br>a: ".$a."
    <br>b: ".$b."
    <br>c: ".$c);
} else {
  echo "<br>equal";
}

Er ergibt:

a+b ist größer als c
a: 42.02
b: 146.18
c: 188.20
equal

Ist schon irre. 😀

Joachim

0 47

Brett vorm Kopf. Finde den Fehler nicht.

Joachim
  • php
  1. -1
    Operator
    1. 0
      dedlfix
    2. 0
      Graf Bit
      1. 0
        Der Martin
      2. 0
        Rolf B
        1. 0
          Der Martin
        2. 0

          Float binär darstellen

          Graf Bit
          • datenvisualisierung
          • php
          1. 0
            Rolf B
  2. 0
    Erik K.
  3. 0
    Der Martin
    1. 0
      Joachim
      1. 0
        Der Martin
        1. 0
          Joachim
          1. 0

            Brett vorm Kopf. Finde den Fehler nicht. Oder verstehe settype nicht. :-/

            Joachim
            1. 0
              dedlfix
              1. 0
                Joachim
                1. 0
                  Rolf B
        2. 0
          Joachim
          1. 0
            Der Martin
            1. 0
              Joachim
      2. 0
        encoder
        1. 0
          Rolf B
          1. 0
            encoder
  4. 0
    Rolf B
    1. 0
      Der Martin
      • php
      • selfhtml-wiki
      1. 0
        Rolf B
        1. 0
          Der Martin
          1. 0
            Matthias Apsel
        2. 0
          Matthias Apsel
      2. 0
        Matthias Apsel
        1. 0
          Rolf B
    2. 0
      Joachim
      1. 0
        Joachim
      2. 2
        Der Martin
        1. 0
          Joachim
      3. 2
        Rolf B
        1. 0
          Der Martin
          1. 0
            Matthias Apsel
            • sonstiges
            1. 0
              Rolf B
              1. 0
                Der Martin
        2. 0
          Joachim
          1. 0
            Der Martin
        3. 0
          Tabellenkalk
          1. 0
            Der Martin
            1. 0
              MudGuard
          2. 0
            Rolf B