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,
},
});
可接受入参示例:
| 入参 | 归一化结果 |
|---|---|
1200 | 1200 |
'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)));