Metastock: Formelhilfe gesucht
aus anderem Thema übernommen:
--------------------
Von: ryhley Am: 17.09.2003 14:46:51 Gelesen: 62
Hallo,
Ich habe eine kurze Methode in Java geschrieben, das Metastock Dormat liest, aber es funktioniert nur zu 90 %.
Zum Beispiel es kann nicht die Preise in der Nähe von 128, 8, 4 gut lesen.
Könnte mir jemand helfen?
protected static float convertToFloat(byte[] msArray)
{
return read4Float(swap2(msArray));
}
private static byte[] swap2(byte[] msbin)
{
byte[] ieee = new byte[4];
if (msbin[3] == 0) return ieee;
for (int i=0;i<2;i++) ieee[i] = msbin[i];
ieee[3] = (byte) (((byte)msbin[3] >> 1)+127);
byte iee_exp = (byte)(msbin[3] - 2);
ieee[2] = (byte)(iee_exp << 7);
ieee[2] |= msbin[2] & 0x7f;
byte[] reversed_ieee = new byte[4];
for (int i=0;i < 4; i++) reversed_ieee[3-i] = ieee[i];
return reversed_ieee;
}
private static float read4Float(byte[] input)
{
float af = (float)0.0;
ByteArrayInputStream r = new ByteArrayInputStream(input);
DataInputStream dis = new DataInputStream(r);
try
{
af = dis.readFloat();
} catch (IOException e)
{
e.printStackTrace();
}
return af;
}
Gruss