Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 6 von 6

Thema: Integer-Wert konvertieren

  1. #1
    Registriert seit
    07.04.2011
    Beiträge
    10
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,
    entweder stehe ich auf der Leitung oder es ist wirklich nicht so einfach, wie es aussieht.

    Wie kann ich aus einem INT-Wert, z.B. 2014 die letzen beiden Stellen herausbekommen, hier dann also 14?

    Auf eine Lösung mit Stringkonviertierung bin ich gekommen, aber geht es auch anders?

    Schöne Grüße
    Zitieren Zitieren Integer-Wert konvertieren  

  2. #2
    Registriert seit
    18.01.2010
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo atp_member,

    Int in Real umwandeln, geteilt durch 100, dann Frac davon und wieder mal 100, und schon hast du den Teil den du willst.

    Also in ST:

    Integer_neu := LREAL_TO_INT(FRAC((INT_TO_LREAL(Integer_alt)/100)*100);

    Müßte glaube ich so direkt gehen.

    Gruß

  3. #3
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    So z.B.

    Code:
    VAR
      i,i2,i3 :INT;
    END_VAR
    
    (*i ist dein Startwert*)
    i2 := i / 100;  (*Die letzten beiden Stellen abschneiden*)
    i3 := i - i2 * 100; (*i3 hat jetzt die letzten beiden Stellen von i - Vorzeichen bleibt erhalten*)
    
    (*ODER  i3 kann man sich eigentlich sparen .....*)
    i2 := i / 100; 
    i2 := i - i2 * 100;
    Geändert von MasterOhh (08.05.2014 um 16:14 Uhr)

  4. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Code:
    i2 := i1 MOD 100;
    Ziffernabspaltung

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #5
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Code:
    i2 := i1 MOD 100;
    Ziffernabspaltung

    Harald

    Das ist natürlich die beste und korrekte Lösung!
    (gibt es hier keinen Facepalm Smiley? Ich fühl mich gerade so dumm )

  6. #6
    atp_member ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.04.2011
    Beiträge
    10
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,

    danke für eure Lösungsvorschläge.

    @Harald, das ist die Lösung, ich ich mir vorgestellt hatte.
    An den Modulo-Operator hatte ich auch schon kurz gedacht, aber dann wieder verworfen
    Gut, dass es euch gibt.

    Gruß

Ähnliche Themen

  1. Long Integer in Real Wert umwandeln
    Von ThermoFisher im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 24.10.2011, 16:31
  2. REAL-Wert in Word-Wert konvertieren
    Von Mohrchen im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 17.07.2011, 13:02
  3. INTEGER Wert per Enter übergeben
    Von Fireball im Forum HMI
    Antworten: 0
    Letzter Beitrag: 22.01.2007, 16:06
  4. Integer Wert in Hex umwandeln
    Von tomatensaft im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 15.12.2006, 16:21
  5. Integer Wert (t in ms) in S5Time umwandeln?
    Von Anonymous im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 27.07.2006, 09:00

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •