[Delphi] Getal afronden

Pagina: 1
Acties:

  • Freak187
  • Registratie: November 2000
  • Laatst online: 22:24
Wij hebben een variabele als Integer gedeclareerd, als wij de waarde van deze variabele instellen op 10 en via een opdracht laten wij er 1 vanaf trekken. Dit zou dus 9 moeten worden maar het wordt 90. Wij denken dat het als 9,0 wordt weergegeven. Moeten wij dit getal als een andere variabele declareren? Of hoe kunnen wij dit anders doen.

Kia Niro-EV 2024


  • Rambo
  • Registratie: Maart 2001
  • Laatst online: 19-12-2024
Beetje vaag. laat eens dat stukje code zien dan.

  • Just_a_Gamer
  • Registratie: November 2001
  • Laatst online: 22:48
Hint gebruik de functie RoundTo

  • Eegee
  • Registratie: Januari 2000
  • Laatst online: 19:22
Wat jullie doen zou goed moeten zijn, maar wij weten niet hoe het getal 90 bij jullie wordt weergegeven. Dat wil zeggen, op welke manier tonen jullie het getal? Welke 'opdracht' gebruiken jullie? Wij kunnen beter helpen als jullie het relevante stuk programmacode tonen.

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 25-08 08:23

Tomatoman

Fulltime prutser

Blijkbaar doe je iets verkeerd. Code graag, anders valt er niets zinnigs over te zeggen.

Een goede grap mag vrienden kosten.


  • Osiris
  • Registratie: Januari 2000
  • Niet online
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  i: integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  dec(i);
  ShowMessage(IntToStr(i));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  i := 10;
end;

end.


DIT werkt iig prima bij mij, dus je doet toch ECHT iets verkeerd :)

  • Freak187
  • Registratie: November 2000
  • Laatst online: 22:24
Dat RoundTo lijkt me wel wat, maar waar moet ik dat neerzetten?
begin
RoundTo (credits);
credits := credits - 1;
Form1.Canvas.TextOut(60, 450, 'Credits:' + IntToStr(credits));

Kia Niro-EV 2024


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:50

Creepy

Tactical Espionage Splatterer

Freak187 schreef op 19 januari 2003 @ 20:48:
Dat RoundTo lijkt me wel wat, maar waar moet ik dat neerzetten?


[...]
Ik zou eerste eens die "opdracht" bekijken die er 1 van af trekt voordat je gaat afronden. Ik gok dat daar toch echts iets verkeerds in zit, want van een integer 1 aftrekken m.b.v. dec(), of gewoon met blaat:=blaat - 1 gaat toch echt altijd goed.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Osiris
  • Registratie: Januari 2000
  • Niet online
Tja, Round(i) werkt bij mij toch altijd prima, dus als je nou eens laat zien wat je ZELF allemaal al eens geprobeerd hebt? :?

  • Just_a_Gamer
  • Registratie: November 2001
  • Laatst online: 22:48
Freak187 schreef op 19 januari 2003 @ 20:48:
Dat RoundTo lijkt me wel wat, maar waar moet ik dat neerzetten?


[...]
Je gebruikt de functie RoundTo verkeerd. ( Zie Help van delphi ).

code:
1
  ADouble := RoundTo( Credits, -1 ); // 1 cijfer achter de comma
Pagina: 1