整数补零 3.x
整数补零功能用于将整数部分补齐到指定位数,常用于订单号、编号、时间显示等场景。
基础语法
!i:N 语法
使用 !i:N 为整数部分补零到 N 位:
javascript
calc('1 | !i:2') // '01'
calc('5 | !i:3') // '005'
calc('123 | !i:2') // '123' (已超过2位,不变)
calc('1.5 | !i:3') // '001.5'
calc('-1 | !i:3') // '-001'Ctrl+D 选择词, Ctrl+/ 注释
使用变量指定位数
使用 @ 前缀引用变量作为补零位数:
javascript
// !i:@var 语法
calc('5 | !i:@pad', { pad: 3 }) // '005'
calc('a | !i:@b', { a: 5, b: 4 }) // '0005'与其他格式化组合
整数补零可以与其他格式化规则组合使用:
javascript
// 结合小数位控制
calc('1.5 | !i:3 =2') // '001.50'
calc('7 | !i:2 =1') // '07.0'
// 结合正号显示
calc('5 | +!i:3') // '+005'
calc('-5 | +!i:3') // '-005'
// 结合单位位置
calc('5 | +!i:3 !um:$') // '+$005'
calc('-5 | +!i:3 !um:$') // '-$005'Ctrl+D 选择词, Ctrl+/ 注释
负数处理
负号不计入位数,补零在负号之后:
javascript
calc('-1 | !i:3') // '-001'
calc('-12 | !i:4') // '-0012'
calc('-123 | !i:3') // '-123' (已满3位)小数处理
只对整数部分补零,小数部分保持不变:
javascript
calc('1.5 | !i:3') // '001.5'
calc('1.234 | !i:2') // '01.234'
calc('0.5 | !i:2') // '00.5'实际应用场景
订单编号
javascript
const orderId = 42
calc(`${orderId} | !i:6`) // '000042'时间显示
javascript
const hour = 9
const minute = 5
const second = 3
`${calc(`${hour} | !i:2`)}:${calc(`${minute} | !i:2`)}:${calc(`${second} | !i:2`)}`
// '09:05:03'序号格式化
javascript
const items = [1, 2, 3, 10, 100]
items.map(n => calc(`${n} | !i:3`))
// ['001', '002', '003', '010', '100']版本号
javascript
const major = 1, minor = 2, patch = 5
`v${major}.${calc(`${minor} | !i:2`)}.${calc(`${patch} | !i:2`)}`
// 'v1.02.05'语法速查
| 语法 | 说明 | 示例 |
|---|---|---|
!i:N | 补零到 N 位 | !i:3 → 005 |
!i:@var | 使用变量指定位数 | !i:@len |
注意
从 3.x 版本开始,旧的 #N 语法已被移除,# 符号现在用于格式化分组功能。请使用 !i:N 语法进行整数补零。