Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Addition von 0.01 ist falsch

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.6k

Addition von 0.01 ist falsch

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascriptblockly
12 Beiträge 4 Kommentatoren 1.1k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Sandmanyz

    Hallo,

    lasse ich per Blockly mehrfach 0.01 addieren, kommen immer krumme Zahlen raus. Wenn ich nun die Runde-Funktion verwende, ist das Ergebnis irgendwann falsch. Einige Beispiele.

    • 6 mal 0.01 addiert, Ergebnis 0.060000000000000005 -> gerundet 0.6 = OK
    • 9 mal 0.01 addiert, Ergebnis 0.09999999999999999 -> gerundet 0.10 = FALSCH, richtig wäre 0,09
    • 11 mal 0.01 addiert, Ergebnis 0.11999999999999998 -> gerundet 0.12 = FALSCH, richtig wäre 0,11

    So sieht die Rechnung ohne RUNDEN aus....
    29144939-75c6-42c5-a919-56b1e7f6b9b5-grafik.png

    So ein Thema gab es hier schon mal (siehe hier). Leider wurde das Problem aber nur durch das Runden gelöst.

    Kann man das Problem irgendwie lösen?

    Viele Grüße

    HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #2

    @Sandmanyz sagte in Addition von 0.01 ist falsch:

    Kann man das Problem irgendwie lösen?

    Ja, durch runden :joy:

    Liegt an den Fließkommaberechnungen - Ist so!

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    S 1 Antwort Letzte Antwort
    0
    • HomoranH Homoran

      @Sandmanyz sagte in Addition von 0.01 ist falsch:

      Kann man das Problem irgendwie lösen?

      Ja, durch runden :joy:

      Liegt an den Fließkommaberechnungen - Ist so!

      S Offline
      S Offline
      Sandmanyz
      schrieb am zuletzt editiert von
      #3

      @Homoran
      Das ist leider wenig hilfreich. Ich benötige ein mathematisch korrektes Ergebnis.

      HomoranH 1 Antwort Letzte Antwort
      0
      • S Sandmanyz

        @Homoran
        Das ist leider wenig hilfreich. Ich benötige ein mathematisch korrektes Ergebnis.

        HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #4

        @Sandmanyz sagte in Addition von 0.01 ist falsch:

        Ich benötige ein mathematisch korrektes Ergebnis.

        ???
        und dafür geht es dir um die 25. Kommastelle
        Wenn du jeden rechenschritt korrekt rundest, bekommst du auch ein korrektes Ergebnis
        Nur das scheingenaue Ergebnis runden ist falsch

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        S 1 Antwort Letzte Antwort
        0
        • HomoranH Homoran

          @Sandmanyz sagte in Addition von 0.01 ist falsch:

          Ich benötige ein mathematisch korrektes Ergebnis.

          ???
          und dafür geht es dir um die 25. Kommastelle
          Wenn du jeden rechenschritt korrekt rundest, bekommst du auch ein korrektes Ergebnis
          Nur das scheingenaue Ergebnis runden ist falsch

          S Offline
          S Offline
          Sandmanyz
          schrieb am zuletzt editiert von
          #5

          @Homoran
          Das mit dem Runden ist eben nicht die Lösung. Siehe meine Beispiele im ersten Beitrag.

          HomoranH 1 Antwort Letzte Antwort
          0
          • S Sandmanyz

            @Homoran
            Das mit dem Runden ist eben nicht die Lösung. Siehe meine Beispiele im ersten Beitrag.

            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #6

            @Sandmanyz sagte in Addition von 0.01 ist falsch:

            @Homoran
            Das mit dem Runden ist eben nicht die Lösung. Siehe meine Beispiele im ersten Beitrag.

            da rundest du ja auch nur das falshe Endergebnis, nicht jeden rechenschritt

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            paul53P 1 Antwort Letzte Antwort
            0
            • HomoranH Homoran

              @Sandmanyz sagte in Addition von 0.01 ist falsch:

              @Homoran
              Das mit dem Runden ist eben nicht die Lösung. Siehe meine Beispiele im ersten Beitrag.

              da rundest du ja auch nur das falshe Endergebnis, nicht jeden rechenschritt

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #7

              @Homoran sagte in Addition von 0.01 ist falsch:

              da rundest du ja auch nur das falshe Endergebnis, nicht jeden rechenschritt

              Man sollte immer nur das Endergebnis runden.

              @Sandmanyz sagte in Addition von 0.01 ist falsch:

              9 mal 0.01 addiert, Ergebnis 0.09999999999999999 -> gerundet 0.10 = FALSCH, richtig wäre 0,09
              11 mal 0.01 addiert, Ergebnis 0.11999999999999998 -> gerundet 0.12 = FALSCH, richtig wäre 0,11

              Das kann ich nicht nachvollziehen, denn ich erhalte immer das richtige Ergebnis bei diesem Test:

              Blockly_temp.JPG

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              HomoranH 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @Homoran sagte in Addition von 0.01 ist falsch:

                da rundest du ja auch nur das falshe Endergebnis, nicht jeden rechenschritt

                Man sollte immer nur das Endergebnis runden.

                @Sandmanyz sagte in Addition von 0.01 ist falsch:

                9 mal 0.01 addiert, Ergebnis 0.09999999999999999 -> gerundet 0.10 = FALSCH, richtig wäre 0,09
                11 mal 0.01 addiert, Ergebnis 0.11999999999999998 -> gerundet 0.12 = FALSCH, richtig wäre 0,11

                Das kann ich nicht nachvollziehen, denn ich erhalte immer das richtige Ergebnis bei diesem Test:

                Blockly_temp.JPG

                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #8

                @paul53 sagte in Addition von 0.01 ist falsch:

                Man sollte immer nur das Endergebnis runden.

                eigentlich ja!

                Kann es hier ein async Problem sein, da er ja einen Datenpunkt über einen Adapter aktualisiert?

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                paul53P 1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @paul53 sagte in Addition von 0.01 ist falsch:

                  Man sollte immer nur das Endergebnis runden.

                  eigentlich ja!

                  Kann es hier ein async Problem sein, da er ja einen Datenpunkt über einen Adapter aktualisiert?

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #9

                  @Homoran sagte:

                  Kann es hier ein async Problem sein, da er ja einen Datenpunkt über einen Adapter aktualisiert?

                  Dann wäre der Zählerstand zu klein, aber nicht zu groß.
                  Man sollte aber immer mit Variablen (ohne Rundung) arbeiten und den Wert gerundet in den Datenpunkt schreiben.

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Antwort Letzte Antwort
                  1
                  • S Sandmanyz

                    Hallo,

                    lasse ich per Blockly mehrfach 0.01 addieren, kommen immer krumme Zahlen raus. Wenn ich nun die Runde-Funktion verwende, ist das Ergebnis irgendwann falsch. Einige Beispiele.

                    • 6 mal 0.01 addiert, Ergebnis 0.060000000000000005 -> gerundet 0.6 = OK
                    • 9 mal 0.01 addiert, Ergebnis 0.09999999999999999 -> gerundet 0.10 = FALSCH, richtig wäre 0,09
                    • 11 mal 0.01 addiert, Ergebnis 0.11999999999999998 -> gerundet 0.12 = FALSCH, richtig wäre 0,11

                    So sieht die Rechnung ohne RUNDEN aus....
                    29144939-75c6-42c5-a919-56b1e7f6b9b5-grafik.png

                    So ein Thema gab es hier schon mal (siehe hier). Leider wurde das Problem aber nur durch das Runden gelöst.

                    Kann man das Problem irgendwie lösen?

                    Viele Grüße

                    UncleSamU Offline
                    UncleSamU Offline
                    UncleSam
                    Developer
                    schrieb am zuletzt editiert von UncleSam
                    #10

                    @Sandmanyz Wenn wir hier über die Theorie reden, lässt sich das Problem nicht lösen. Fliesskommazahlen werden genau aus diesem Grund in der Informatik mit sehr viel Vorsicht verwendet.

                    Wenn du das Problem lösen willst, musst du das Problem "ändern." Sprich: du musst anders an das Problem heran gehen.

                    Was ist denn dein eigentliches Problem? Ich nehme nicht an, dass du aus lauter Freude mal etwas Zahlen addierst.

                    Ein Vorschlag: rechne mit Ganzzahlen (0.01 ~= 1) und verwende einen alias, der genau diesen Wert noch dividiert (/ 100).

                    Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
                    ♡-lichen Dank an meine Sponsoren

                    paul53P 1 Antwort Letzte Antwort
                    1
                    • UncleSamU UncleSam

                      @Sandmanyz Wenn wir hier über die Theorie reden, lässt sich das Problem nicht lösen. Fliesskommazahlen werden genau aus diesem Grund in der Informatik mit sehr viel Vorsicht verwendet.

                      Wenn du das Problem lösen willst, musst du das Problem "ändern." Sprich: du musst anders an das Problem heran gehen.

                      Was ist denn dein eigentliches Problem? Ich nehme nicht an, dass du aus lauter Freude mal etwas Zahlen addierst.

                      Ein Vorschlag: rechne mit Ganzzahlen (0.01 ~= 1) und verwende einen alias, der genau diesen Wert noch dividiert (/ 100).

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von paul53
                      #11

                      @UncleSam sagte:

                      rechne mit Ganzzahlen

                      Ich würde es immer so machen:

                      Blockly_temp.JPG

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      S 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @UncleSam sagte:

                        rechne mit Ganzzahlen

                        Ich würde es immer so machen:

                        Blockly_temp.JPG

                        S Offline
                        S Offline
                        Sandmanyz
                        schrieb am zuletzt editiert von
                        #12

                        @paul53

                        Perfekt :+1: :blush:

                        1 Antwort Letzte Antwort
                        0
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        289

                        Online

                        32.7k

                        Benutzer

                        82.4k

                        Themen

                        1.3m

                        Beiträge
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Anmelden

                        • Du hast noch kein Konto? Registrieren

                        • Anmelden oder registrieren, um zu suchen
                        • Erster Beitrag
                          Letzter Beitrag
                        0
                        • Home
                        • Aktuell
                        • Tags
                        • Ungelesen 0
                        • Kategorien
                        • Unreplied
                        • Beliebt
                        • GitHub
                        • Docu
                        • Hilfe