0
我想將一個十六進制字符串轉換爲Javascript中的浮點數。從十六進制到浮點數 - Javascript
假設我有十六進制字符串「0082d241」。使用this online converter並選擇交換字節順序,正確的浮點值爲26,3135。
我知道這是正確答案,因爲它來自TMP36傳感器。
我嘗試了一些其他的例子,我在這裏找到了這樣的例如Converting hexadecimal to float in javascript,但他們都沒有工作。
遺憾的響應晚,但這總是返回相同的值:26.3134765625無論measurment是。 (我在代碼的最後一行更改了「0x0082d241」 – kots
@kots您的代碼中一定有錯誤我已經在我的答案中添加了一個工作代碼片段,以向您顯示帶有兩個不同十六進制字符串的結果 – Teh
仍然有問題,也許是因爲我用它與節點紅色?這是我如何使用它: ms = msg.payload.data; function flipHexString(hexValue,hexDigits){ var h = hexValue.substr(0,2); 爲(VAR I = 0; I> 31?-1:1; var e =(hex >> 23)& 0xFF; return s *(hex&0x7fffff | 0x800000)* 1.0/Math.pow(2,23)* Math.pow(2,(e-127)); } msg.payload = hexToFloat(flipHexString(ms,8)); return msg; @Teh –
kots