繁体   English   中英

JAVA /如何将2字节浮点数转换为双精度值

[英]JAVA / How to convert 2-byte float to double value

我试图将0D 82浮点值0D 82为我的项目中的双精度值。

当我模拟该值时,得到28.2 那么如何在Java上将2个字节的float值转换为double值呢?

谢谢你的帮助 !

看下面的库:

https://sourceforge.net/p/calimero/wiki/Home/

它为KNX网络及其数据类型提供了Java API。 这很可能会完成您想要的操作-特别是tuwien.auto.calimero.dptxlator.DPTXlator2ByteFloat类。

您可以使用以下代码:

byte[] test = new byte[2];
test[0] = (byte)0x0D;
test[1] = (byte)0x82;

DPTXlator2ByteFloat floatTranslator = new DPTXlator2ByteFloat(DPTXlator2ByteFloat.DPT_AIR_PRESSURE);
floatTranslator.setData(test);
double value = (double)floatTranslator.getValueFloat();

value变量将具有预期的28.2值。

在您的maven依赖项中导入以下内容以包括该库:

<dependency>
    <groupId>com.github.calimero</groupId>
    <artifactId>calimero-core</artifactId>
    <version>2.2-beta</version>
<dependency>

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM