Autor Beitrag
pyto
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mo 03.05.10 17:13 
Hi,
Ich suche einen Typ in Delphi der nur genau 2 Nachkommastellen kennt und damit Werte wie 1234,56(€) oder (und das ist wichtig) 1234,50(€)ausgeben kann. Er soll also bei einer NKMST noch eine zweite NKMST mit Wert 0 anfügen und es bei Zwei NKMST lassen.

Danke :)

_________________
P.S.: Ich nutze Delphi 5 und 7
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Mo 03.05.10 17:22 
wie wäre es mit runden?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
var myval : single;
begin
  myval := trunc(myval*100)/100
end;


die null musst du dann noch selbst anfügen.
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Mo 03.05.10 17:43 
oder nimm einen Integer und teile ihn vor der Anzeige durch 100. Frage mich ob Delphi es erlaubt solche Typen selbst zu erstellen...vermutlich eher nicht, höchstens ne Klasse (umständlich in der Bedienung).

//Edit: achso, um die Null gehts...

ausblenden Delphi-Quelltext
1:
str:=inttostr(trunc(myval))+','+inttostr((myval - trunc(myval))*100)					

(oder so ähnlich ^^)

Schreib dir ne procedure dafür. Es gibt aber auch floattostr mit vielen Einstellungsmöglichkeiten (kein Experte dafür ist)

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mo 03.05.10 18:07 
WTF?

ausblenden Delphi-Quelltext
1:
format('%.2f',[MyNumber])					

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: Mo 03.05.10 20:24 
Gibts für Währungen nicht extra den Typ "Currency"???

_________________
Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Di 04.05.10 08:52 
Theoretisch ja, aber auch dieser kann mehr als 2 Nachkommastellen haben. Der Vorteil von Currency ist, das es genauer ist als andere Gleitkommatypen.

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1335
Erhaltene Danke: 118

Win 10
RIO, CE, Lazarus
BeitragVerfasst: Di 04.05.10 10:45 
Currency ist ein Integer. Also intern werden die Zahlen als Integer behandelt. Bei allen Umwandlungen wird jedoch mit 4 Nachkommastellen gearbeitet (Währungsformat), bei Ausgaben werden davon aber nur 2 dargestellt.
Alle Rechenoperationen mit diesem Typen folgen den Regeln für die Berechnungen von Währungswerten. Die von Gleitkommazahlen bekannten Ungenauigkeiten treten hier nicht auf.

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
Allesquarks
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 510

Win XP Prof
Delphi 7 E
BeitragVerfasst: Di 04.05.10 23:14 
Das kommt aber auch alle Jahre mal hoch. Nur zur Richtigkeit currency wird intern im Coprozessor gerechnet und erreicht damit relativ natürlich auch keine höhere Genauigkeit als Gleitkommatypen. Vielmehr bildet es die Korrektheit des Coprozessors für ganze Zahlen bis 64Bit um 4 Größenordnungen zu kleineren Werten ab.