簡體   English   中英

如何將InputStream.read()轉換為double?

[英]How to convert InputStream.read() to double?

是否有一種簡單的方法將從流讀取的字節數組轉換為雙精度值?

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

緩沖=>雙倍?

您能以形象的方式解釋我InputStream.read(byte [] b)的工作方式嗎?

如果您經常進行此類操作,則最好使用DataInputStream ,它提供了一組操作,如readDouble等。

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

InputStream.read(byte[] b)將接下來的字節讀入b參數。

並且,您可以嘗試使用DataInputStream讀取Double,Float,Integer等。 您可以使用以下方法實例化DataInputStream:

DataInputStream input = new DataInputStream(YOUR_INPUT_STREAM);

嘗試使用DataInputStream( javadoc )包裝InputStream對象,並使用readDouble方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM