Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - aus 2 integern eine real machen ?
Brujah - Do 04.11.04 10:43
Titel: aus 2 integern eine real machen ?
Hallo Leute,
ich bin neu in diesem Forum und habe folgendes Problem:
Ich habe eine Realzahl und möchte diese in 2 SpinEdit Boxen darstellen.
In der ersten Box die Vorkommastellen in der zweiten die Nachkommastellen.
trunc(zahl) gibt mir die Vorkommastellen. Aber wie bekomme ich die Nachkommastellen ?
Ich habe es schon mit frac() probiert. Da bekomme ich aber folgende Meldung:
[Fehler] Unit4.pas(144): Inkompatible Typen: 'Integer' und 'Extended'
Kann mir da jemand weiterhelfen ?
Danke schonmal,
Markus
Moderiert von
Tino: Topic aus Sonstiges verschoben am Mo 08.11.2004 um 13:06
st-matze - Do 04.11.04 10:50
Definition von frac
Delphi-Quelltext
1:
| function Frac(X: Extended): Extended; |
frac gibt etwas im format 0,12345 zurück
nun musste einfach etwas machen wie
Delphi-Quelltext
1:
| nachkommastellen:=round(frac(X) * power(10,anzahl_betrachteter_nachkommastellen)); |
dann bekommst du nen integer herraus für die angegebene anzahl von nachkommastellen, weitere nachkommastellen werden ignoriert (ROUND)
st-matze
Brujah - Do 04.11.04 11:13
Okay, das bringt mich ein Stück weiter. Danke!
Im Moment ist mir noch nicht klar wie ich rausfinden kann wie
viele Nachkommastellen die Zahl nun hat.
Ich muss mit 10 oder mit 100 multiplizieren da maximal 2 Stellen erlaubt sind.
Eine Funktion Power() gibts bei mir nicht...
Markus
st-matze - Do 04.11.04 11:27
Info: Power ist in der Unit Math definiert //Delphi Hilfe hilft
Wenn du sagst, dass eh maximal zweistellen erlaubt sind, kannst du es auch vereinfachen
und gleich sagen:
Delphi-Quelltext
1:
| nachkommastellen:=round(frac(X) * 100); |
Brujah - Do 04.11.04 11:28
Habs hinbekommen. Multipliziere einfach mit 100.
Und wenn ein Modulo bei / 10 eine 0 ergibt teile ich wieder durch 10 :-)
Markus
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!