Commit c5861baad8b3a095b28fdeaab72d21bef18e6eb4
Merge branch 'cherry-pick-38916be4' into 'master'
perf: modbus_rtu 16位有符号无符号计算值时,对于整数不做特殊处理 See merge request yunteng/thingskit!399
Showing
1 changed file
with
6 additions
and
1 deletions
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: | ... | ... |