Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Off Topic
  4. C++ Longint in String umwandeln

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    6
    1
    210

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    214

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    888

C++ Longint in String umwandeln

Geplant Angeheftet Gesperrt Verschoben Off Topic
5 Beiträge 3 Kommentatoren 327 Aufrufe 2 Beobachtet
  • Ä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.
  • W Offline
    W Offline
    WolfgangFB
    schrieb am zuletzt editiert von
    #1

    In Esphome habe ich eine Zeitkomponente die ich als ms seit 1970 in einen String schreiben möchte.
    Das ganze funktioniert mit

    lambda return  str_sprintf("%d", abs(id(MySntp).now().timestamp));
    

    ich bekomme aber eine Warnug dass ich "int" mit "long" verwurstle.

    /opt/iobroker/iobroker-data/esphome.0/mini-engel.yaml: In lambda function:
    /opt/iobroker/iobroker-data/esphome.0/mini-engel.yaml:378:26: warning: format '%d' expects argument of type 'int', but argument 2 has type 'long long int' [-Wformat=]
      378 |           payload: !lambda return str_sprintf("%d", abs(id(MySntp).now().timestamp));
          |                          ^~~~  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |                                   |
          |                                   long long int
    
    

    Wie macht man dieses Typcast sauber so dass die Warnmeldung wegfällt?
    (Oder wie macht man so eine Umwandlung eleganter?)

    paul53P MartinPM 2 Antworten Letzte Antwort
    0
    • W WolfgangFB

      In Esphome habe ich eine Zeitkomponente die ich als ms seit 1970 in einen String schreiben möchte.
      Das ganze funktioniert mit

      lambda return  str_sprintf("%d", abs(id(MySntp).now().timestamp));
      

      ich bekomme aber eine Warnug dass ich "int" mit "long" verwurstle.

      /opt/iobroker/iobroker-data/esphome.0/mini-engel.yaml: In lambda function:
      /opt/iobroker/iobroker-data/esphome.0/mini-engel.yaml:378:26: warning: format '%d' expects argument of type 'int', but argument 2 has type 'long long int' [-Wformat=]
        378 |           payload: !lambda return str_sprintf("%d", abs(id(MySntp).now().timestamp));
            |                          ^~~~  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |                                   |
            |                                   long long int
      
      

      Wie macht man dieses Typcast sauber so dass die Warnmeldung wegfällt?
      (Oder wie macht man so eine Umwandlung eleganter?)

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @wolfgangfb

      Google sagt:

      printf("%ll", n);   // long long
      

      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

      W 1 Antwort Letzte Antwort
      0
      • W WolfgangFB

        In Esphome habe ich eine Zeitkomponente die ich als ms seit 1970 in einen String schreiben möchte.
        Das ganze funktioniert mit

        lambda return  str_sprintf("%d", abs(id(MySntp).now().timestamp));
        

        ich bekomme aber eine Warnug dass ich "int" mit "long" verwurstle.

        /opt/iobroker/iobroker-data/esphome.0/mini-engel.yaml: In lambda function:
        /opt/iobroker/iobroker-data/esphome.0/mini-engel.yaml:378:26: warning: format '%d' expects argument of type 'int', but argument 2 has type 'long long int' [-Wformat=]
          378 |           payload: !lambda return str_sprintf("%d", abs(id(MySntp).now().timestamp));
              |                          ^~~~  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
              |                                   |
              |                                   long long int
        
        

        Wie macht man dieses Typcast sauber so dass die Warnmeldung wegfällt?
        (Oder wie macht man so eine Umwandlung eleganter?)

        MartinPM Online
        MartinPM Online
        MartinP
        schrieb am zuletzt editiert von MartinP
        #3

        @wolfgangfb said in C++ Longint in String umwandeln:

        lambda return str_sprintf("%d", abs(id(MySntp).now().timestamp));

        • Was soll das "abs(..)"?
        • Mit welcher Klassen ist das Objekt "id()" kreiert worden?

        Je nach print - Bibliothek unterscheiden sich die Format-Qualifier.

        "%llu" wäre mein Ratschlag ....

        Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
        Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
        Linux pve 6.17.9-1-pve
        6 GByte RAM für den Container
        Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
        Remote-Access über Wireguard der Fritzbox

        W 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @wolfgangfb

          Google sagt:

          printf("%ll", n);   // long long
          
          W Offline
          W Offline
          WolfgangFB
          schrieb am zuletzt editiert von
          #4

          @paul53 sagte in C++ Longint in String umwandeln:

          @wolfgangfb

          Google sagt:

          printf("%llu", n);   // unsigned long long
          

          Danke, das habe ich gesucht.

          1 Antwort Letzte Antwort
          0
          • MartinPM MartinP

            @wolfgangfb said in C++ Longint in String umwandeln:

            lambda return str_sprintf("%d", abs(id(MySntp).now().timestamp));

            • Was soll das "abs(..)"?
            • Mit welcher Klassen ist das Objekt "id()" kreiert worden?

            Je nach print - Bibliothek unterscheiden sich die Format-Qualifier.

            "%llu" wäre mein Ratschlag ....

            W Offline
            W Offline
            WolfgangFB
            schrieb am zuletzt editiert von
            #5

            @martinp sagte in C++ Longint in String umwandeln:

            @wolfgangfb said in C++ Longint in String umwandeln:

            lambda return str_sprintf("%d", abs(id(MySntp).now().timestamp));

            • Was soll das "abs(..)"?

            Ist unnötig, war mein erster Versuch das umzuwandeln.

            1 Antwort Letzte Antwort
            0

            Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

            Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

            Mit deinem Input könnte dieser Beitrag noch besser werden 💗

            Registrieren Anmelden
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            479

            Online

            32.8k

            Benutzer

            82.8k

            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