0
Javascriptで16進文字列を浮動小数点数に変換しようとしています。16進数から浮動小数点へ - Javascript
私は16進数の文字列 "0082d241"を持っているとします。 this online converterを使用し、スワップエンディアンのを選択すると、正しいフロート値は26,3135になります。
これはTMP36センサのものなので、これが正しい答えです。
Converting hexadecimal to float in javascriptのように私がここで見つけたいくつかの他の例を試しましたが、それらのどれも働いていませんでした。
が、これは常に同じ値を返します。measurmentが何であれ26.3134765625を。 (私はあなたのコードの最後の行に "0x0082d241"を変更しました。 " – kots
@kotsコードに何か間違っているはずです。私はあなたの結果を2つの異なる16進文字列で表示するために動作するコードスニペットを追加しました。 – Teh
問題がありますか?おそらく、私はノードの赤を使用しているからでしょうか?ここで私はそれをどのように使用しています: ms = msg.payload.data; function flipHexString(hexValue、hexDigits){ var h = hexValue.substr(0、2); 戻りH; } 機能; { H + = hexValue.substr - ( - 1 I)* 2、2 2 +(hexDigits)}(; iはhexDigitsを<++ I VAR I = 0)のための hexToFloat(hex){ var s = 16進数>> 31 -1:1; var e =(16進数>> 23)& 0xFF; return s *(16進数および0x7fffff | 0x800000)* 1.0/Math.pow(2、23)* Math.pow(2、(e-127)); } msg.payload = hexToFloat(flipHexString(ms、8)); 返信msg; @Teh – kots