数值工具

更新时间:2023-10-12 08:00:25下载pdf

本文介绍数值相关工具。

获取指定长度字符串

名称

toFixedString

描述

补齐或者从后截取规定长度的所给字符串。

请求参数

参数 数据类型 说明 是否必填
value number
length number 返回的字符串的长度

返回参数

参数 数据类型 说明
result string 字符串

请求示例

import { Utils } from "tuya-panel-kit";
const { toFixedString } = Utils.NumberUtils;

toFixedString(value, length);
// Example:
toFixedString(111, 5);     
toFixedString(3456111, 5);

返回示例

'00111'
'56111'

补齐字符串

名称

toFilledString

描述

补齐输出规定长度的字符串,若字符串本身超过规定长度则直接输出。

请求参数

参数 数据类型 说明 是否必填
value number
length number 返回的字符串的长度

返回参数

参数 数据类型 说明
result string 字符串

请求示例

import { Utils } from "tuya-panel-kit";
const { toFilledString } = Utils.NumberUtils;

toFilledString(value, length);
// Example:
toFixedString(111, 5);   
toFixedString(3456111, 5);

返回示例

'00111'
'3456111'

八位数组转十六进制

名称

bytesToHexString

描述

返回八位整数的数字数组转十六进制后的字符串,分高低位。

请求参数

参数 数据类型 说明 是否必填
array number 一个 8 位整数的数字数组

返回参数

参数 数据类型 说明
result string 转换而来的字符串

请求示例

import { Utils } from "tuya-panel-kit";
const { bytesToHexString } = Utils.NumberUtils;

bytesToHexString(array);
// example:
bytesToHexString([1, 2]);  
bytesToHexString([23, 2]);      

返回示例

'0102'
'1702'

十进制转十六进制

名称

numToByteNumbers

描述

返回十进制转十六进制后的字符串。

请求参数

参数 数据类型 说明 是否必填
value number

返回参数

参数 数据类型 说明
result string 转换而来的字符串,每个字符都是十六进制字符

请求示例

import { Utils } from "tuya-panel-kit";
const { numToByteNumbers } = Utils.NumberUtils;

numToByteNumbers(value);
// Example:
numToHexString(111); 
numToHexString(15);  

返回示例

'6f'
'0f'

十进制转高低八位

名称

intToHighLow

描述

返回十进制转十六进制后的字符串。

请求参数

参数 数据类型 说明 是否必填
value number

返回参数

参数 数据类型 说明
result number 一个数的数组,第一个是高八个数,第二个是低八个数

请求示例

import { Utils } from "tuya-panel-kit";
const { intToHighLow } = Utils.NumberUtils;

intToHighLow(value);

// Example:
intToHighLow(2838); 
intToHighLow(5643);

返回示例

[11, 22]
[22, 11]

返回中间值

名称

inMaxMin

描述

返回最大最小和具体值三个数中的中间值。

请求参数

名参数 数据类型 说明 是否必填
min number 最小值
max number 最大值
value number 具体值

返回参数

参数 数据类型 说明
result number 返回三个数中的中间值

请求示例

import { Utils } from "tuya-panel-kit";
const { inMaxMin } = Utils.NumberUtils;

inMaxMin(min, max, value);
// Example:
inMaxMin(1, 2838, 233); 
inMaxMin(1, 2, 0);

返回示例

233
1

放缩数值

名称

scaleNumber

描述

返回放缩 10 的 num 次幂的数值。

请求参数

参数 数据类型 说明 是否必填
num number 10 的指数幂
value number

返回参数

参数 数据类型 说明
result number value / Math.pow(10, scale)

请求示例

import { Utils } from "tuya-panel-kit";
const { scaleNumber } = Utils.NumberUtils;

scaleNumber(num, value);
// Example:
scaleNumber(2, 10245);

返回示例

102.45

返回指定数组

名称

range

描述

返回从 start 到 end,步长为 step 的数组。

请求参数

参数 数据类型 说明 是否必填
start number 初始值
end number 结束值
value number 步长

返回参数

参数 数据类型 说明
result number 返回从 start 到 end,步长为 step 的数组

请求示例

import { Utils } from "tuya-panel-kit";
const { range } = Utils.NumberUtils;

range(start, end, value);
// Example:
range(1, 10); 
range(1, 10, 2); 

返回示例

[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 3, 5, 7, 9]

转换数值

名称

calcPosition

描述

将原先范围内的值,转换为新范围内的值。

请求参数

参数 数据类型 说明 是否必填
value number 原先值
min number 原先最小范围
max number 原先最大范围
newMin number 新最小范围
newMax number 新最大范围

返回参数

参数 数据类型 说明
result number ((value - min) * newRange) / oldRange + newMin

请求示例

import { Utils } from "tuya-panel-kit";
const { calcPosition } = Utils.NumberUtils;

calcPosition(value, min, max, newMin, newMax);
// Example:
calcPosition(50, 0, 100, -100, 0); 
calcPosition(255, 0, 255, 0, 100);

返回示例

-50
100

新范围的百分比

名称

calcPercent

描述

新范围的百分比。

请求参数

参数 数据类型 说明 是否必填
min number 最小值
max number 最大值
value number 具体值
offset number 百分比起始偏移量(0 - 1)

返回参数

参数 数据类型 说明
result number 新范围的百分比

请求示例

import { Utils } from "tuya-panel-kit";
const { calcPercent } = Utils.NumberUtils;

calcPercent(min, max, value, offset);
// Example:
calcPercent(25, 255, 25); 
calcPercent(25, 255, 25, 0.1); 

返回示例

0
0.1