Ankündigung

Einklappen
Keine Ankündigung bisher.

DecimalType Casts

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    DecimalType Casts

    Hallo,

    bin heute bei einer meiner Regeln über ein merkwürdiges Phänomen gestolpert: DecimalType leitet ja von Number ab, wenn ich aber in einer Regel eine Zuweisung von einem DecimalType auf eine Number mache:

    Code:
    var Number currentState = Rollershutter_control_buero.state as DecimalType
    ... kann es zu einer "rounding necessary"-Exception kommen. Das kommt offenbar daher, dass DecimalType intern eine BigDecimal verwendet und diese unter Umständen nicht ohne Weiteres in eine Number implizit gecastet werden kann. Umgehen lässt sich das Problem z.B. so:

    Code:
    var Number currentState = (Rollershutter_control_buero.state as DecimalType).intValue()
    Ist das so gewollt? Wenn ja (oder wenn ich hier einen anderen Fehler gemacht habe), wie wäre die richtige Herangehensweise um mit derartigen States zu rechnen?

    Danke.

    #2
    Hi,

    Zitat von PairOfOldShoes Beitrag anzeigen
    wie wäre die richtige Herangehensweise um mit derartigen States zu rechnen?
    da Du ja weißt, dass Du tatsächlich mit einem DecimalType arbeitest, würde ich den auch zur Variablen Deklaration verwenden, also:

    Code:
    var DecimalType currentState = Rollershutter_control_buero.state as DecimalType
    Eigentlich müsste es bei der Deklaration gar nicht notwendig sein, überhaupt einen Typen anzugeben. Schon mal versucht?

    Gruß,

    Thomas E.-E.
    Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

    Kommentar

    Lädt...
    X