Anmelden

View Full Version : Variable Zahlenkonvertieren



Xanas
25-08-06, 08:15
Hallo,

hab mal wieder ein Frage zum Thema Zahlenkonvertieren.

Also ich hab einen Pointer, der auf ein Zahl Zeigt. Ich weis, die Genauigkeit und die anzahl der Dezimalstellen, die allerdings immer variable sind. Wie bekomme ich jetzt die Daten von dem Pointer in eine Variable, so dass ich damit arbeiten kann.



D num S 63P30 inz(0)

for i = 1 to fields.anzahl;
num = %dec(pointer: feld(i).prec: field(i).dec;
endfor;


Also so wäre das optimal, nur leider kann man die Parameter 2 und 3 nicht variable angeben, aber vieleicht kennt jemand ein Api oder C funktion, mit der das möglich ist.

Gruß
Xanas

Fuerchau
26-08-06, 08:21
Nein, gibt es leider nicht.
Da kannst du nur mit einem Sprungverteiler arbeiten und entsprechend definierte Variablen verwenden:

d AdrVar S *
d Dec0100 S 1p 0 based(AdrVar)
:
d Dec1000 S 10p 0 based(AdrVar)
:

usw.
Die Nachkomma wären ggf. nicht relevant, da man diese wiederum durch Division geraderücken könnte.

Xanas
28-08-06, 06:51
nagut, vielen Dank.

okay ich schreib ja schon einen längeren Text....

Fuerchau
28-08-06, 11:28
Mittels MI-API's (z.T. als C-Funktion verfügbar) geht es doch:
Siehe CPYNV
http://publib.boulder.ibm.com/infocenter/iseries/v5r3/topic/rzatk/CPYNV.htm

Xanas
28-08-06, 12:21
Das klingt ja schon mal supper, aber ich kann in der C Runtime Libary nichts der gleichen finden, wie kann ich denn diese MI Funktion in RPGLE verwenden?