Einzelnen Beitrag anzeigen

michaelthuma
(Gast)

n/a Beiträge
 
#9

AW: Befehl 'round' macht schlapp

  Alt 24. Feb 2014, 19:22
Habe das ausprobiert im Laz als auch im Delphi XE5. Funktioniert in beiden.

Welche ist die Fehlermeldung?

Solltest du im Laz programmieren, dann Klicke einfach auf die Klammern, solltest du mal Sorgen haben bezüglich Klammerung.

Mit der Maus über die Funktion double und es wird dir der Funktionsprototyp angezeigt.

Round gibt einen Int64 zurück ist aber an sich egal. Mich schlimmsten Fall mit einer Konstante ausmultiplizieren falls du sicher gehen willst.

const double : One = 1.0; Exkurs: Bei Sprachen außerhalb von Pascal - Vorsicht.
Beispiel: ABAP und Datum

Code:
DATA: BEGINN TYPE D VALUE '20001224',
      ENDE LIKE BEGINN.

BEGIN = SY-DATUM. - funktioniert, entspricht in dem Zusammenhang now()
BEGINN = '19990101'. - funktioniert, Zeichenketten können zugewiesen werden
ENDE = BEGINN + 1. - funktioniert, Folgetag
ENDE = '19990101' + 1 - denkste
Intern führt der ABAP Interpreter eine Konvertierung auf Integer durch und addiert - Tage bezogen auf den Startzeitpunkt. In der letzten Zeile sieht der ABAP Interpreter.

a) ... Oh, 1 eine Integer - was sonst.
b) ... '19990101' und das Plus dazwischen - ist auch ein Integer
und denkt sich ...
c) ... So ein netter Programmierer! Ganz integere Persönlichkeit, von der bekomm ich ne Integer - was sonst - spar ich mir das Umrechnen - einfach rein mit der Zahl - wird schon wissen was er tut. Tja. Gespart am falschen Platz

Der Fairness halber - es steht in der Doku.

Auch deswegen sind sämtliche Ratschläge Teilergebnisse in Variablen zu halten durchaus nützliche. Man soll eher mit Typen sehr sauber umgehen. 1.0 ist nicht unbedingt double 1.0 in jedem Fall und jeder Sprache.

Hallo,
Ich freue mich jetzt schon sehr auf eine Antwort! Das schätze ich sehr .
  Mit Zitat antworten Zitat