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 Offline
    S Offline
    Sandmanyz
    schrieb am zuletzt editiert von
    #1

    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 UncleSamU 2 Antworten Letzte Antwort
    0
    • 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 -

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

      ioBroker freut sich auch über eine Spende für das Forum. Benutzt dazu den Spendenbutton im Header. Danke!

      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 -

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

          ioBroker freut sich auch über eine Spende für das Forum. Benutzt dazu den Spendenbutton im Header. Danke!

          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 -

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

              ioBroker freut sich auch über eine Spende für das Forum. Benutzt dazu den Spendenbutton im Header. Danke!

              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 -

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

                  ioBroker freut sich auch über eine Spende für das Forum. Benutzt dazu den Spendenbutton im Header. Danke!

                  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

                          580

                          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