2012年07月09日

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/
タグ:golang Go言語
posted by やし at 21:22 | Comment(0) | golang | このブログの読者になる | 更新情報をチェックする

     このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマーク
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。