Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Zahl als Text mit Nachkommastellen ausgeben

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Zahl als Text mit Nachkommastellen ausgeben

    This topic has been deleted. Only users with topic management privileges can see it.
    • haselchen
      haselchen Most Active @ManfredHi last edited by

      @manfredhi

      Ich reibe mal die Glaskugel....

      Womit berechnest Du es?
      Javascript, Blockly, Rechenschieber.......?

      Wie sehen Deine Gehversuche aus?

      1 Reply Last reply Reply Quote 0
      • OliverIO
        OliverIO last edited by

        @manfredhi

        mit javascript würde man diese funktion verwenden
        https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat

        M 1 Reply Last reply Reply Quote 0
        • haus-automatisierung
          haus-automatisierung Developer Most Active @ManfredHi last edited by

          @manfredhi sagte in Zahl als Text mit Nachkommastellen ausgeben:

          Also z.B. 12 soll als 12.00 oder 13.1 als 13.10 ausgegeben werden.

          Mit Punkt als Komma? US-Schreibweise? Dann z.B. eine Funktion mit

          return parseFloat(val).toFixed(2);

          <xml xmlns="https://developers.google.com/blockly/xml">
            <variables>
              <variable id="KP[4n0khi-n@uHIkO?S7">val</variable>
            </variables>
            <block type="procedures_defcustomreturn" id="`SI5{oFEq$]b#KnMY_Mf" x="113" y="113">
              <mutation statements="false">
                <arg name="val" varid="KP[4n0khi-n@uHIkO?S7"></arg>
              </mutation>
              <field name="NAME">runden</field>
              <field name="SCRIPT">cmV0dXJuIHBhcnNlRmxvYXQodmFsKS50b0ZpeGVkKDIpOw==</field>
              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
            </block>
            <block type="debug" id="%g{3ckctuAVE=p?J?LSW" x="113" y="288">
              <field name="Severity">log</field>
              <value name="TEXT">
                <shadow type="text" id="=.I%NeGbWvnZIp:X})sd">
                  <field name="TEXT">test</field>
                </shadow>
                <block type="procedures_callcustomreturn" id="-qkEw);`gK_4^vadAE8x">
                  <mutation name="runden">
                    <arg name="val"></arg>
                  </mutation>
                  <value name="ARG0">
                    <block type="math_number" id="pUusT#5.G3J`I=d#;6!=">
                      <field name="NUM">12</field>
                    </block>
                  </value>
                </block>
              </value>
            </block>
          </xml>
          
          M 2 Replies Last reply Reply Quote 2
          • M
            ManfredHi @haus-automatisierung last edited by

            Es geht nur darum, dass ich eine Zahl habe (von wo sie kommt bzw. wie sie berechnet wurde spielt in diesem Fall keine Rolle), und diese für den Export in ein Textfile diese Zahl mit einem Punkt und den beiden Nachkommastellen benötige.
            Ob sie als String umgewandelt wird oder nicht ist auch egal, da sie ja in ein Textfile kommt. Nur der Punkt und die beiden Nachkommastellen sind wichtig, in diesem Fall die US-Schreibweise.

            haus-automatisierung 1 Reply Last reply Reply Quote 0
            • haus-automatisierung
              haus-automatisierung Developer Most Active @ManfredHi last edited by

              @manfredhi sagte in Zahl als Text mit Nachkommastellen ausgeben:

              Nur der Punkt und die beiden Nachkommastellen sind wichtig, in diesem Fall die US-Schreibweise.

              Dann nimm toFixed wie in dem Beispiel oben.

              M 1 Reply Last reply Reply Quote 1
              • M
                ManfredHi @haus-automatisierung last edited by

                @haus-automatisierung sagte in Zahl als Text mit Nachkommastellen ausgeben:

                Mit Punkt als Komma? US-Schreibweise? Dann z.B. eine Funktion mit
                return parseFloat(val).toFixed(2);

                Super. Vielen Dank. So funktioniert es.

                1 Reply Last reply Reply Quote 0
                • M
                  ManfredHi @haus-automatisierung last edited by

                  @haus-automatisierung sagte in Zahl als Text mit Nachkommastellen ausgeben:

                  Dann nimm toFixed wie in dem Beispiel oben.

                  Eine Frage noch: Wie wäre das dann bei der deutschen Schreibweise, als mit einem Komma statt einem Punkt ?

                  haus-automatisierung paul53 2 Replies Last reply Reply Quote 0
                  • haus-automatisierung
                    haus-automatisierung Developer Most Active @ManfredHi last edited by

                    @manfredhi Siehe Kommentar von @OliverIO

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

                      @manfredhi sagte: mit einem Komma statt einem Punkt ?

                      @oliverio sagte in Zahl als Text mit Nachkommastellen ausgeben:

                      diese funktion verwenden

                      ... oder

                      val.toFixed(2).replace('.', ',')
                      
                      1 Reply Last reply Reply Quote 0
                      • M
                        ManfredHi @OliverIO last edited by

                        @oliverio sagte in Zahl als Text mit Nachkommastellen ausgeben:

                        mit javascript würde man diese funktion verwenden
                        https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat

                        wenn ich diese funktion mit der Währung mache, dann passt es.

                        return Intl.NumberFormat('de-DE', {style: 'currency', currency: 'EUR'}).format(Komma,);
                        

                        Aber wie geht diese funktion dann ohne einem Währungszeichen?

                        haus-automatisierung 1 Reply Last reply Reply Quote 0
                        • haus-automatisierung
                          haus-automatisierung Developer Most Active @ManfredHi last edited by haus-automatisierung

                          @manfredhi Steht doch in der verlinkten Doku

                          return Intl.NumberFormat('de-DE', { minimumFractionDigits: 2 }).format(val);
                          

                          Du kannst sehr viele Optionen definieren - auch wie gerundet werden soll usw.: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#roundingmode

                          M 1 Reply Last reply Reply Quote 1
                          • M
                            ManfredHi @haus-automatisierung last edited by

                            @haus-automatisierung

                            Ich habe mir nun eine Funktion gemacht, wo ich auch die Anzahl der mindest- und maximal-Dezimalstellen angeben kann. Das funktioniert jetzt einwandfrei.

                            Frage: kann man das auch als Globale Funktion hinterlegen um dies in jedem Blockly-Script dann zur Verfügung zu haben oder muss ich die Funktion in jedem Script, wo ich das brauche, erstellen.

                            haus-automatisierung 1 Reply Last reply Reply Quote 0
                            • haus-automatisierung
                              haus-automatisierung Developer Most Active @ManfredHi last edited by

                              @manfredhi In Typescript geht das, ja. In Blockly nicht. Zumindest nicht schön.

                              Globales Script = Code wird vor jedes andere Script kopiert.

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              812
                              Online

                              32.0k
                              Users

                              80.4k
                              Topics

                              1.3m
                              Posts

                              5
                              14
                              446
                              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