package main
import (
"fmt"
"strconv"
)
func main() {
// 1. 数値型間の変換
// 整数から整数
var intValue int = 42
var int64Value int64 = int64(intValue)
var float64Value float64 = float64(intValue)
fmt.Printf("整数変換:\n")
fmt.Printf("元の値: %d\n", intValue)
fmt.Printf("int64への変換: %d\n", int64Value)
fmt.Printf("float64への変換: %f\n", float64Value)
// 2. 文字列への変換
// 数値から文字列
ageInt := 25
ageString := strconv.Itoa(ageInt) // 整数から文字列
floatNum := 3.14
floatString := strconv.FormatFloat(floatNum, 'f', 2, 64) // 浮動小数点から文字列
fmt.Printf("\n文字列変換:\n")
fmt.Printf("整数から文字列: %s\n", ageString)
fmt.Printf("浮動小数点から文字列: %s\n", floatString)
// 3. 文字列から数値への変換
// 文字列から整数
numStr := "123"
numInt, err := strconv.Atoi(numStr)
if err != nil {
fmt.Println("変換エラー:", err)
} else {
fmt.Printf("\n文字列から数値への変換:\n")
fmt.Printf("文字列 %s から整数: %d\n", numStr, numInt)
}
// 文字列から浮動小数点
floatStrValue := "3.14"
floatValue, err := strconv.ParseFloat(floatStrValue, 64)
if err != nil {
fmt.Println("変換エラー:", err)
} else {
fmt.Printf("文字列 %s から浮動小数点: %f\n", floatStrValue, floatValue)
}
}