2012年07月07日

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

import "strconv"
strNum := strconv.FormatUint(num, 10)

FormatUint関数の引数 numuint64で、10は何者かよく分からなかったけど、10進数のこと。strNumstringとなります。

2つ目の引数10が良くわかないと書いたけど、下記のコードで確かめたら10進数だとわかった。例えば、1つ目の数値を123とします。

package main

import (
	"fmt"
	"strconv"
)

func main(){
	fmt.Println("(i, strNum)")
	for i:=2; i < 37; i++ {
		strNum := strconv.FormatUint(uint64(123), i)
		fmt.Printf("(%d, %s)\n",i,strNum)
	}
}

結果、下記のようになった。

(i, strNum)
(2, 1111011)
(3, 11120)
(4, 1323)
(5, 443)
(6, 323)
(7, 234)
(8, 173)
(9, 146)
(10, 123)
(11, 102)
(12, a3)
(13, 96)
(14, 8b)
(15, 83)
(16, 7b)
(17, 74)
(18, 6f)
(19, 69)
(20, 63)
(21, 5i)
(22, 5d)
(23, 58)
(24, 53)
(25, 4n)
(26, 4j)
(27, 4f)
(28, 4b)
(29, 47)
(30, 43)
(31, 3u)
(32, 3r)
(33, 3o)
(34, 3l)
(35, 3i)
(36, 3f)

ソースにもあるけど、ii < 2またはi > 37だとpanicになります。

タグ:golang
posted by やし at 00:00 | Comment(1) | golang | このブログの読者になる | 更新情報をチェックする

     このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマーク
この記事へのコメント
やし(管理人) | URL
fmt.Sprintfでも可能とのことです。
https://plus.google.com/u/0/103136005429296369032/posts/JCiTT3CDyh7
2012年07月07日 12:31

コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

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


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

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