Golang で3桁毎にカンマ(,)をつける通貨表示に使えるサンプルコード

ポイント

  • int を string に変換する
  • string を 1 文字ずつ配列に入れる
  • for 文で配列の最後尾から処理をしていく

サンプルコード

main.go

package main

import (
	"fmt"
	"strings"
)

func main() {
	convert(0) // 0
	convert(10) // 10
	convert(230) // 230
	convert(4500) // 4,500
	convert(67000) // 67,000
	convert(890000) // 890,000
	convert(1200000) // 1,200,000
	convert(34000000) // 34,000,000
}

func convert(integer int) {
	arr := strings.Split(fmt.Sprintf("%d", integer), "")
	cnt := len(arr) - 1
	res := ""
	i2 := 0
	for i := cnt; i >= 0; i-- {
		if i2 > 2 && i2 % 3 == 0 {
			res = fmt.Sprintf(",%s", res)
		}
		res = fmt.Sprintf("%s%s", arr[i], res)
		i2++
	}
	fmt.Print(res + "\n")
}
カテゴリー:Go