Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Integertyp mit nur 2 Nachkommastellen
pyto - Mo 03.05.10 17:13
Titel: Integertyp mit nur 2 Nachkommastellen
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 :)
FinnO - Mo 03.05.10 17:22
wie wäre es mit runden?
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 - 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...
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)
Martok - Mo 03.05.10 18:07
WTF?
Delphi-Quelltext
1:
| format('%.2f',[MyNumber]) |
platzwart - Mo 03.05.10 20:24
Gibts für Währungen nicht extra den Typ "Currency"???
elundril - 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
Sinspin - 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.
Allesquarks - 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.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!