跳到主要内容

Number 值方法

Number 字段应写入有限数字值。外部入参使用 Number(...) 转换,再用 Number.isFinite(...) 校验。

赋值​

const amount = Number(payload.input.amount);
if (!Number.isFinite(amount)) {
throw new Error('AMOUNT_INVALID');
}

await context.form.update({
recordId: 'record-id',
data: {
amount,
},
});

可接受入参示例:

入参归一化结果
12001200
'1200.50'1200.5
''非明确清空字段时视为非法

常用方法​

方法用途
Number(value)把字符串或未知入参转成数字
Number.isFinite(value)校验结果是否为有效数字
Math.round(value)四舍五入到整数
Math.floor(value) / Math.ceil(value)向下或向上取整
value.toFixed(digits)按小数位格式化,通常用于展示或外部文本入参
Math.max(...) / Math.min(...)限制范围或比较值

Number(value)​

把字符串或未知入参转成数字。

const amount = Number(payload.input.amount);

Number.isFinite(value)​

写入前校验转换后的数字是否有效。

const amount = Number(payload.input.amount);
if (!Number.isFinite(amount)) {
throw new Error('AMOUNT_INVALID');
}

Math.round(value)​

四舍五入到整数。

const score = Math.round(Number(payload.input.score || 0));

Math.floor(value) / Math.ceil(value)​

向下或向上取整。

const requestedQuantity = Math.floor(Number(payload.input.quantity || 0));
const pageCount = Math.ceil(Number(payload.input.total || 0) / 20);

value.toFixed(digits)​

按固定小数位格式化。字段需要数字时,再用 Number(...) 转回数字。

const unitPrice = Number(payload.input.unitPrice || 0);
const displayPrice = unitPrice.toFixed(2);
const roundedPrice = Number(unitPrice.toFixed(2));

Math.max(...) / Math.min(...)​

把数字限制在允许范围内。

const quantity = Math.max(0, Math.floor(Number(payload.input.quantity || 0)));
const discountRate = Math.min(100, Math.max(0, Number(payload.input.discountRate || 0)));