· golang Go言語 strconv

golangで文字列を数値に変換するには?

  • このエントリーをはてなブックマークに追加

与えられた文字列が数値と判断できる場合に、数値として返して欲しい時、次の関数がある。

strconvパッケージの

func ParseInt(s string, base int, bitSize int) (i int64, err error)
s:数値に変換したい文字列
base:何進数とか(10進数なら10)
bitSize:何ビットとして認識してほしいか
(0, 8, 16, 32, 64はそれぞれint, int8, int16, int32, int64に対応)

このParseIntをラップして短くしてるのが、

func Atoi(s string) (i int, err error) {
    i64, err := ParseInt(s, 10, 0)
    return int(i64), err
}

です。ParseIntの戻り値はint64でしたが、Atoiの戻り値はintです。

使い方は、こんな感じ。

i, _ := strconv.Atoi("100")
    j, _ := strconv.Atoi("200")
    i = i+j  // i,jはintなので計算ができる
    fmt.Printf("i=%d¥n", i)
    // i=300

参考

Package strconv
http://golang.org/pkg/strconv/
  • このエントリーをはてなブックマークに追加
  • LinkedIn
  • Tumblr
  • Reddit
  • Google+
  • Pinterest
  • Pocket