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

                          738
                          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