2013-03-02 95 views
2

是否有一種簡單的方法將從流中讀取的字節數組轉換爲雙精度值?如何將InputStream.read()轉換爲double?

InputStream input = serialPort.getInputStream(); 
while(true) { 
    byte[] buffer = new byte[ 8 ]; 
    len = input.read(buffer); 
} 

buffer => double?

你能解釋一下我的比喻如何InputStream.read(字節[] B)作品?

+0

難道你想換行的InputStream到另一個流是更容易使用:可以使用實例化一個DataInputStream?也許是一個由BufferedInputStream包裝的DataInputStream? – 2013-03-02 20:19:52

回答

3

如果你做這樣的操作有很多,也許這是最好使用DataInputStream,它提供了一套操作,像的readDouble等。

DataInputStream input = new DataInputStream(serialPort.getInputStream()); 
double d = input.readDouble(); 
2

InputStream.read(byte[] b)將讀取下一個字節爲b參數。

而且,你可以嘗試使用DataInputStream讀雙,浮法,整數,和其他人。

DataInputStream input = new DataInputStream(YOUR_INPUT_STREAM); 
0

嘗試換用DataInputStream所(javadoc)您的InputStream對象和使用的readDouble方法