Skip to content

整数补零 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 语法进行整数补零。

基于 MIT 许可发布