Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Addition von 0.01 ist falsch

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Addition von 0.01 ist falsch

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Sandmanyz @Homoran last edited by

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

      Homoran 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Sandmanyz last edited by

        @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 1 Reply Last reply Reply Quote 0
        • S
          Sandmanyz @Homoran last edited by

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

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @Sandmanyz last edited by

            @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

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @Homoran last edited by 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

              Homoran 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @paul53 last edited by

                @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?

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Homoran last edited by paul53

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

                  1 Reply Last reply Reply Quote 1
                  • UncleSam
                    UncleSam Developer @Sandmanyz last edited by 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).

                    paul53 1 Reply Last reply Reply Quote 1
                    • paul53
                      paul53 @UncleSam last edited by paul53

                      @UncleSam sagte:

                      rechne mit Ganzzahlen

                      Ich würde es immer so machen:

                      Blockly_temp.JPG

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        Sandmanyz @paul53 last edited by

                        @paul53

                        Perfekt 👍 😊

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        852
                        Online

                        31.8k
                        Users

                        80.0k
                        Topics

                        1.3m
                        Posts

                        blockly javascript
                        4
                        12
                        682
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo