Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Ganze Zahl runden (https://www.delphipraxis.net/86264-ganze-zahl-runden.html)

BBoy 11. Feb 2007 21:49


Ganze Zahl runden
 
Wie kann man eine ganze zahl runden??

z.B. 1672600 zu 1,673 Millionen
aber auch: 1378 zu 1400

wenn möglich bitte mit kleinem Code-beispiel... thAnx.

ibp 11. Feb 2007 22:00

Re: Ganze Zahl runden
 
es gibt eine funktion round!
dazu kannst du dann noch mit 10^n und mit 10^-n spielen um das komma zu verrücken!

Matze 11. Feb 2007 22:05

Re: Ganze Zahl runden
 
Mit Delphi-Referenz durchsuchenFormat könnte das auch klappen, doch welche Maske du da nehmen musst, kann ich dir gerade nicht sagen. Da findet sich evtl. etwas in der Hilfe.

BBoy 11. Feb 2007 22:12

Re: Ganze Zahl runden
 
Mit format habe ich so meine Probleme, denke das ist das richtige, aber will einfach nicht klappen.
Daher meine Bitte, mit Code-beispiel....

Jelly 11. Feb 2007 22:55

Re: Ganze Zahl runden
 
Zitat:

Zitat von BBoy
z.B. 1672600 zu 1,673 Millionen
aber auch: 1378 zu 1400

Bei den beiden Beispielen seh ich keinen Zusammenhang. Deshalb meine Bitte: Erklär doch mal genau wie du was runden willst.

TonyR 11. Feb 2007 23:03

Re: Ganze Zahl runden
 
um 1378 z.B. zu runden:

Delphi-Quellcode:
uses math;
var zahl: real;
    level: integer;

zahl:=1378;
level:=2;
zahl:=zahl*Power(10,-level);
zahl:=Round(zahl);
zahl:=zahl*Power(10,level);
ungetestet aber könnte funktionieren... wenn nicht und du kannst dir nicht erklären warum nicht, dann einfach nochmal posten!

BBoy 11. Feb 2007 23:04

Re: Ganze Zahl runden
 
Einen zusammenhang gibt es da auch nicht.

Aktuell ist folgendes:
Ich habe eine Rangliste (top10), die Punktzahlen bewegen sich im bereich von 1- >20 Millionen

BSP1: 3343004 BSP2: 205668566
Für mich ist es ausreichend wenn da stünde: 3,343 Millionen also nicht mehr 3343004
oder im 2. Beispiel eben: 20,567 Millionen antatt von 205668566

bitsetter 11. Feb 2007 23:08

Re: Ganze Zahl runden
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
  i:= 1672600;
  caption:= floatToStr(round(i /1000)/ 1000);
  i:= 1378;
  caption:= caption+ '  '+ IntToStr(round(i /100)* 100);
end;
EDIT: Beim 2. FloatToStr mit IntToStr ausgetauscht.

TonyR 11. Feb 2007 23:16

Re: Ganze Zahl runden
 
Wenn es dir darum geht hohe Highscores (doppelt :stupid: ) als kleinere Zahlen darzustellen dürfte das hier auch hilfreich sein!
Delphi-Quellcode:
if score>=1000000 then
  begin
  score:=Round(score/1000);
  string:=FloatToStr(score/1000)+' Mio.';
  end;
Edit: Aber...
Zitat:

Zitat von bitsetter's Signatur
Viele Wege führen nach Rom!


BBoy 11. Feb 2007 23:29

Re: Ganze Zahl runden
 
:bounce2: Super, Ihr seid klaSSe

danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:01 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz