很多时在写程式时, 需要将一些数值补零, 例如 1 显示为 001, 以下是 Shell Script 的实现方法:
Shell Script 的 printf 函式已经可以做到自动补零, 例如想将 8 显示为 “008”, 可以这样写:
|
1 2 3 |
#!/bin/sh printf "%03d" 8 |
除了在数值的前面补零外, 也有一种情况是在小数点补零, 例如数值 “8” 是整数, 但也要强制显示小数点后一个位, 可以这样写:
|
1 2 3 |
#!/bin/sh printf "%1.1f" 8 |
如果想将上面的结果放到变量, 可以这样写:
|
1 2 3 4 5 6 |
#!/bin/sh NUM=8; ZERO_NUM=$(printf "%03d" $NUM); echo "$ZERO_NUM" |
上面的程式码将原来的 $NUM 变量补零, 再放在 $ZERO_NUM 内, 执行结果是 “008”.