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

                        819
                        Online

                        32.0k
                        Users

                        80.4k
                        Topics

                        1.3m
                        Posts

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