使用`fmt.Printf`函数为数字添加零填充。

huangapple go评论79阅读模式
英文:

Add zero padding to numbers with fmt.Printf

问题

我对于函数fmt.Printf有一个问题;为什么当我使用这个函数时,程序会省略第一个零?

package main

import (
   "fmt"
   "time"
)

func main() {
   now := time.Now()
   year, month, day := now.Date()
   hour, min, sec := now.Clock()
   fmt.Printf("%d-%s-%d_%d:%d:%d\n", year, month, day, hour, min, sec)
}

这段代码返回的结果是:2017-April-26_10:3:2,而不是10:03:02。

有人可以帮助我吗?

英文:

I have a question about the function fmt.Printf;
Why when I use this functions, the program omits the first zero?

package main

import (
   "fmt"
   "time"
)

func main() {
   now := time.Now()
   year, month, day := now.Date()
   hour, min, sec := now.Clock()
   fmt.Printf("%d-%s-%d_%d:%d:%d\n", year, month, day, hour, min, sec)
}

That returns: 2017-April-26_10:3:2 at 10h03:02

Can anyone help me?

答案1

得分: 3

只需将%d替换为%02d,即:

fmt.Printf("%d-%s-%02d_%02d:%02d:%02d\n", year, month, day, hour, min, sec)
英文:

Simply replace %d with %02d i.e.

fmt.Printf("%d-%s-%02d_%02d:%02d:%02d\n", year, month, day, hour, min, sec)

huangapple
  • 本文由 发表于 2017年4月26日 16:25:07
  • 转载请务必保留本文链接:https://go.coder-hub.com/43628717.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定