Commit d7b636493abae8c888153f98a004c1a10112673d
Merge branch 'feat/tcp-product-thingsmodel-add-zoom-factory' into 'main_dev'
fix: 下发modbus指令,小数数值精度问题 See merge request yunteng/thingskit-scada!114
Showing
1 changed file
with
1 additions
and
1 deletions
... | ... | @@ -16290,7 +16290,7 @@ class HandleDataInteraction { |
16290 | 16290 | { value, required: true, message: '下发值是必填项' }, |
16291 | 16291 | ...(method == '05' ? [{ value, message: '下发类型必须为0或1', validator(value) { return value == 0 || value == 1 } }] : []), |
16292 | 16292 | ...(method == '06' ? [{ value, message: `下发类型必须为整型,缩放因子为${zoomFactor}`, validator(value) { return !isNaN(value) && getNumberFloatPart(value) * zoomFactor % 1 === 0 } }, { value: value * zoomFactor, message: `最大值不能超过65535,缩放因子为${zoomFactor}`, validator(value) { return Number(value) <= parseInt('ffff', 16) } }] : []), |
16293 | - ...(method == '16' ? [{ value, message: '下发类型精确到两位小数', validator(value) { return /^-?\d+(\.\d{0,2})?$/.test(value * zoomFactor) } }] : []) | |
16293 | + ...(method == '16' ? [{ value, message: '下发类型精确到两位小数', validator(value) { return /^-?\d+(\.\d{0,2})?$/.test( Math.floor(value) * zoomFactor + getNumberFloatPart(value) * zoomFactor) } }] : []) | |
16294 | 16294 | ]) |
16295 | 16295 | |
16296 | 16296 | if (method == '06' || method == '16') { | ... | ... |