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.1k

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

                      446

                      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