ポイント
- 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")
}