Commit 38916be49ae0bb050a7c544ef100fe4f663b7e55

Authored by xp.Huang
1 parent a4ebf730

perf: modbus_rtu 16位有符号无符号计算值时,对于整数不做特殊处理

1 1 package org.thingsboard.server.common.data.yunteng.utils;
2 2
  3 +import org.thingsboard.server.common.data.yunteng.constant.FastIotConstants;
3 4 import org.thingsboard.server.common.data.yunteng.enums.AttributeSourceDataTypeEnum;
4 5 import org.thingsboard.server.common.data.yunteng.enums.HexByteOrderEnum;
5 6 import java.nio.ByteOrder;
... ... @@ -252,7 +253,11 @@ public class HexConvertUtils {
252 253 case INT16_BA:
253 254 case UINT16_BA:
254 255 hex = convertHexOrder(hex, dataTypeEnum);
255   - value = intFormat.format(int16OrUint16ToShort(hex) * scaleFactor);
  256 + if((int16OrUint16ToShort(hex) * scaleFactor) % 1 == FastIotConstants.MagicNumber.ZERO){
  257 + value = int16OrUint16ToShort(hex);
  258 + }else{
  259 + value = intFormat.format(int16OrUint16ToShort(hex) * scaleFactor);
  260 + }
256 261 break;
257 262 case INT32_AB_CD:
258 263 case UINT32_AB_CD:
... ...