Avatar billede xited Praktikant
21. juni 2004 - 00:54 Der er 5 kommentarer og
1 løsning

Extended to Integer, samtidig med begrænsning af decimaler

Hvordan ændrer jeg en Extended til en Integer, hvormed jeg samtidig/efterfølgende kan begrænse antallet af decimaler
Avatar billede arne_v Ekspert
21. juni 2004 - 07:33 #1
i := trunc(x);

runder ned.

i := trunc(x + 0.5);

eunder af.
Avatar billede arne_v Ekspert
21. juni 2004 - 07:34 #2
Jeg mener at Delphi også har

i := round(x);
Avatar billede arne_v Ekspert
21. juni 2004 - 07:35 #3
Så du kan skalere til f.eks. 2 decimaler via f.eks.

x = trunc(x * 100 + 0.5) / 100;
Avatar billede arne_v Ekspert
21. juni 2004 - 07:35 #4
OK ?
Avatar billede pellelil Nybegynder
21. juni 2004 - 08:11 #5
En Integer har ingen decimaler så når du har "ændret Extended til Integer" så har du ikke brug for "samtidig/efterfølgende" begrænse antallet af decimaler !?
Avatar billede hrc Mester
21. juni 2004 - 08:46 #6
Du må lige forklare din "Extended til Integer med decimaler" lidt bedre, for som pellelil påpeger, så kan det ikke lade sig gøre.

Og så alligevel; lad os antage at du vil gemme et decimaltal i en integer med 3 decimaler. Det kan du gøre ved at gange det med 1000 og så dividere tilsvarende med 1000 når du skal bruge tallet (eller konvertere til streng og indsætte komma så det passer med decimalerne).

var
  i : integer;
begin
  i := trunc(pi * 1000 + 0.5); // pi med tre decimaler og afrunding.
  // Altså ligesom arne_v's bare uden at dividere bagefter
end;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester