Hallo ihr Lieben!
Ich hab mich mal dran versucht an einer Volumenberechnung- ich bekomme hier aber utopische Hinterkommazahlen raus- dabei bin ich auf trunc gestoßen in verschiedenen Tutorials, Foren etc- aber hab null Plan wie und wo ich das hier einsetzen kann. Ich bekomm Fehlermeldungen wenn ich es direkt bei VAR reinpacke, bei der Ausgabe des Ergebnisses auch... Oder ist das garnicht für sowas gedacht?
Dashier hatte ich gefunden, aber werde nicht schlau draus
REAL nach INTEGER
Bei der Umwandlung einer REAL-Zahl in eine ganze Zahl verliert der Wert an Information. PASCAL fordert vom Programmierer, anzugeben, wie das geschehen soll. Zwei Möglichkeiten gibt es:
TRUNC(Wert)
Die Nachkommastellen werden abgeschnitten.
mein "Programm" schaut so aus ohne das ein Fehler kommt- wo und wie kommt denn da nun trunc hin?
PROGRAM Volumenberechnung;
VAR a, b, c, sum: REAL;
BEGIN
WRITELN('Länge des Raumes, Kommazahlen mit Punkt trennen');
READLN(a);
WRITELN('Höhe des Raumes, Kommazahlen mit Punkt trennen');
READLN(b);
WRITELN('Breite des Raumes, Kommazahlen mit Punkt trennen');
READLN(c);
sum:= a*b*c;
WRITE('Das Volumen ist ');
WRITELN(sum);
END.
Bin über jede Hilfe dankbar- auch wenn man vielleicht eine Kommazahl nutzen kann über einen Befehl oder sonstige Fehler hier gefunden werden...
Danke !!
Was mache ich bei "trunc" falsch?
Re: Was mache ich bei "trunc" falsch?
Gib es doch einfacher lesbar aus (evtl. beantwortet das schon die Frage):
Ansonsten wäre das auch eine Lösung:
Code: Alles auswählen
WriteLn(sum:0:0); // ohne Nachkommastellen
// bzw.
WriteLn(sum:0:2); // mit zwei Nachkommastellen
Ansonsten wäre das auch eine Lösung:
Code: Alles auswählen
WriteLn(Trunc(sum));
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: Was mache ich bei "trunc" falsch?
Danke!!
Ich hatte statt
writeln(trunc(sum))
sum=trunc(sum) versucht- war nah dran ansonsten immer hinter trunc eine Zahl dazu, dachte wegen der Beispiele müsste das so gemacht werden...
bin javascript gewöhnt, da hab ich oft Denkfehler... mit der Ausgabe hapert es noch gewaltig.
Danke nochmal, jetzt klappt es endlich
Ich hatte statt
writeln(trunc(sum))
sum=trunc(sum) versucht- war nah dran ansonsten immer hinter trunc eine Zahl dazu, dachte wegen der Beispiele müsste das so gemacht werden...
bin javascript gewöhnt, da hab ich oft Denkfehler... mit der Ausgabe hapert es noch gewaltig.
Danke nochmal, jetzt klappt es endlich
-
- Beiträge: 6164
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Was mache ich bei "trunc" falsch?
bin javascript gewöhnt, da hab ich oft Denkfehler... mit der Ausgabe hapert es noch gewaltig.
Du wirst sehen, mit Pascal ist vieles einfacher als mit javascript.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot