golang

golang 数値(文字列)を指定桁数の先頭0詰めにして返す

概要

数値(文字列)を指定桁数の先頭0詰めにして返す

ソースコード

main.go

package main

import (
    "fmt"
    "regexp"
)

const (
    fixDigit = 3
)

func main() {
    // 例:12 -> 012 にしたいとき
    num := "12"
    num = checkDigit(num)
    fmt.Println(num)
}

func checkDigit(s string) string {
    r := regexp.MustCompile(`^[0-9]{fixDigit}$`)
    if !(r.MatchString(s)) {
        checked := ""
        len := len(s)
        num := fixDigit - len
        for i := 0; i < num; i++ {
            checked = "0" + s
        }
        return checked
    }
    return s
}